OSDN Git Service

Merge "Do not merge: fix dns prefetch, multiply range" into gingerbread
[android-x86/external-webkit.git] / Android.mk
index 8c96e53..21f6cf4 100644 (file)
@@ -34,16 +34,32 @@ LOCAL_PATH := $(call my-dir)
 #    can be set to true, so that two builds can be different but without
 #    specifying which JS engine to use.
 
+# To enable JIT in Android's JSC, please set ENABLE_JSC_JIT environment
+# variable to true.
+
 # Read JS_ENGINE environment variable
 JAVASCRIPT_ENGINE = $(JS_ENGINE)
 
+# The default / alternative engine depends on the device class.
+# On devices with a lot of memory (e.g. Passion/Sholes), the
+# default is V8. On everything else, the only choice is JSC.
+# TODO: use ARCH_ARM_HAVE_ARMV7 once that variable is added to
+# the build system.
+ifeq ($(ARCH_ARM_HAVE_VFP),true)
+    DEFAULT_ENGINE = v8
+    ALT_ENGINE = jsc
+else
+    DEFAULT_ENGINE = jsc
+    ALT_ENGINE = jsc
+endif
+
 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
+      JAVASCRIPT_ENGINE = $(ALT_ENGINE)
     else
-      JAVASCRIPT_ENGINE = jsc
+      JAVASCRIPT_ENGINE = $(DEFAULT_ENGINE)
     endif
   endif
 endif
@@ -72,7 +88,6 @@ include $(BASE_PATH)/bison_check.mk
 LOCAL_C_INCLUDES := \
        $(JNI_H_INCLUDE) \
        $(LOCAL_PATH)/WebKit/android/icu \
-       bionic/ \
        external/ \
        external/icu4c/common \
        external/icu4c/i18n \
@@ -90,6 +105,7 @@ LOCAL_C_INCLUDES := \
 LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES) \
        $(LOCAL_PATH)/WebCore \
        $(LOCAL_PATH)/WebCore/accessibility \
+       $(LOCAL_PATH)/WebCore/bindings/generic \
        $(LOCAL_PATH)/WebCore/css \
        $(LOCAL_PATH)/WebCore/dom \
        $(LOCAL_PATH)/WebCore/editing \
@@ -110,10 +126,16 @@ LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES) \
        $(LOCAL_PATH)/WebCore/platform/animation \
        $(LOCAL_PATH)/WebCore/platform/graphics \
        $(LOCAL_PATH)/WebCore/platform/graphics/android \
+       $(LOCAL_PATH)/WebCore/platform/graphics/filters \
        $(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/image-decoders/bmp \
+       $(LOCAL_PATH)/WebCore/platform/image-decoders/gif \
+       $(LOCAL_PATH)/WebCore/platform/image-decoders/ico \
+       $(LOCAL_PATH)/WebCore/platform/image-decoders/jpeg \
+       $(LOCAL_PATH)/WebCore/platform/image-decoders/png \
        $(LOCAL_PATH)/WebCore/platform/mock \
        $(LOCAL_PATH)/WebCore/platform/network \
        $(LOCAL_PATH)/WebCore/platform/network/android \
@@ -124,6 +146,11 @@ LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES) \
        $(LOCAL_PATH)/WebCore/rendering \
        $(LOCAL_PATH)/WebCore/rendering/style \
        $(LOCAL_PATH)/WebCore/storage \
+       $(LOCAL_PATH)/WebCore/svg \
+       $(LOCAL_PATH)/WebCore/svg/animation \
+       $(LOCAL_PATH)/WebCore/svg/graphics \
+       $(LOCAL_PATH)/WebCore/svg/graphics/filters \
+       $(LOCAL_PATH)/WebCore/websockets \
        $(LOCAL_PATH)/WebCore/workers \
        $(LOCAL_PATH)/WebCore/xml
 
@@ -146,16 +173,6 @@ LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES) \
        $(base_intermediates)/WebCore/html \
        $(base_intermediates)/WebCore/platform
 
-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
-
 ifeq ($(JAVASCRIPT_ENGINE),v8)
 # Include WTF source file.
 d := JavaScriptCore
@@ -176,17 +193,6 @@ include $(LOCAL_PATH)/Android.jscbindings.mk
 endif
 ifeq ($(JAVASCRIPT_ENGINE),v8)
 include $(LOCAL_PATH)/Android.v8bindings.mk
-# TODO: We should use the WebCore JNI code instead.
-JNI_PATH := V8Binding/jni
-# bridge/jni path must be listed after V8Bindings, so files are preferentially
-# included from V8bindings.
-BINDING_C_INCLUDES += \
-       $(BASE_PATH)/$(JNI_PATH) \
-       $(LOCAL_PATH)/bridge/jni \
-       $(LOCAL_PATH)/bridge/jni/v8
-JNI_SRC_FILES := \
-       jni_runtime.cpp
-WEBKIT_SRC_FILES += $(addprefix $(JNI_PATH)/,$(JNI_SRC_FILES))
 endif
 WEBKIT_SRC_FILES += $(addprefix $d/,$(LOCAL_SRC_FILES))
 LOCAL_C_INCLUDES += $(BINDING_C_INCLUDES)
@@ -216,7 +222,14 @@ LOCAL_CFLAGS += -Wno-endif-labels -Wno-import -Wno-format
 LOCAL_CFLAGS += -fno-strict-aliasing
 LOCAL_CFLAGS += -include "WebCorePrefix.h"
 LOCAL_CFLAGS += -fvisibility=hidden
-LOCAL_CFLAGS += -D__SGI_STL_INTERNAL_PAIR_H
+
+# Enable JSC JIT if JSC is used and ENABLE_JSC_JIT environment
+# variable is set to true
+ifeq ($(JAVASCRIPT_ENGINE),jsc)
+ifeq ($(ENABLE_JSC_JIT),true)
+LOCAL_CFLAGS += -DENABLE_ANDROID_JSC_JIT=1
+endif
+endif
 
 ifeq ($(TARGET_ARCH),arm)
 LOCAL_CFLAGS += -Darm
@@ -224,10 +237,24 @@ LOCAL_CFLAGS += -Darm
 LOCAL_CFLAGS += -Wno-psabi
 endif
 
+# need a flag to tell the C side when we're on devices with large memory
+# budgets (i.e. larger than the low-end devices that initially shipped)
+ifeq ($(ARCH_ARM_HAVE_VFP),true)
+LOCAL_CFLAGS += -DANDROID_LARGE_MEMORY_DEVICE
+endif
+
 ifeq ($(ENABLE_SVG),true)
 LOCAL_CFLAGS += -DENABLE_SVG=1
 endif
 
+ifeq ($(ENABLE_WTF_USE_ACCELERATED_COMPOSITING),false)
+LOCAL_CFLAGS += -DWTF_USE_ACCELERATED_COMPOSITING=0
+endif
+
+ifeq ($(ENABLE_WTF_USE_ACCELERATED_COMPOSITING),true)
+LOCAL_CFLAGS += -DWTF_USE_ACCELERATED_COMPOSITING=1
+endif
+
 # Temporary disable SVG_ANIMATION.
 ifeq ($(ENABLE_SVG_ANIMATION),true)
 LOCAL_CFLAGS += -DENABLE_SVG_ANIMATION=1
@@ -251,9 +278,9 @@ LOCAL_SHARED_LIBRARIES := \
        libui \
        libcutils \
        libicuuc \
-       libicudata \
        libicui18n \
-       libmedia
+       libmedia \
+       libsurfaceflinger_client
 
 ifeq ($(WEBCORE_INSTRUMENTATION),true)
 LOCAL_SHARED_LIBRARIES += libhardware_legacy
@@ -261,9 +288,8 @@ 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
-LOCAL_C_INCLUDES += \
-       external/stlport
+LOCAL_SHARED_LIBRARIES += libdl libstlport
+include external/stlport/libstlport.mk
 endif
 
 # Build the list of static libraries