OSDN Git Service

Cleanspec so the reverting of the chrome http stack takes effect.
[android-x86/external-webkit.git] / Android.mk
index 4390cf3..ddae467 100644 (file)
 
 LOCAL_PATH := $(call my-dir)
 
+# Control SVG compiling in webkit.
+# Default is true unless explictly disabled.
+ifneq ($(ENABLE_SVG),false)
+    ENABLE_SVG = true
+endif
+
+# Control complex scripts support compiling in webkit.
+# Default is true unless explictly disabled.
+ifneq ($(SUPPORT_COMPLEX_SCRIPTS),false)
+    SUPPORT_COMPLEX_SCRIPTS = true
+endif
+
 # 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.
@@ -33,6 +45,8 @@ LOCAL_PATH := $(call my-dir)
 #    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.
+# To enable JIT in Android's JSC, please set ENABLE_JSC_JIT environment
+# variable to true.
 
 # To enable JIT in Android's JSC, please set ENABLE_JSC_JIT environment
 # variable to true.
@@ -40,17 +54,14 @@ LOCAL_PATH := $(call my-dir)
 # 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
+# We default to the V8 JS engine on everything except the simulator where
+# we stick with JSC.
+ifneq ($(TARGET_SIMULATOR),true)
+DEFAULT_ENGINE = v8
+ALT_ENGINE = jsc
 else
-    DEFAULT_ENGINE = jsc
-    ALT_ENGINE = jsc
+DEFAULT_ENGINE = jsc
+ALT_ENGINE = jsc
 endif
 
 ifneq ($(JAVASCRIPT_ENGINE),jsc)
@@ -64,6 +75,17 @@ ifneq ($(JAVASCRIPT_ENGINE),jsc)
   endif
 endif
 
+# Read the HTTP_STACK environment variable, default is android
+ifneq ($(TARGET_SIMULATOR),true)
+HTTP_STACK = $(HTTP)
+ifeq ($(HTTP_STACK),chrome)
+  # Chrome net stack has dependencies on V8.
+  ifeq ($(JAVASCRIPT_ENGINE), v8)
+    HTTP_STACK = chrome
+  endif
+endif
+endif
+
 BASE_PATH := $(call my-dir)
 include $(CLEAR_VARS)
 
@@ -92,6 +114,8 @@ LOCAL_C_INCLUDES := \
        external/icu4c/common \
        external/icu4c/i18n \
        external/libxml2/include \
+       external/libxslt \
+       external/hyphenation \
        external/skia/emoji \
        external/skia/include/core \
        external/skia/include/effects \
@@ -105,6 +129,7 @@ LOCAL_C_INCLUDES := \
 LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES) \
        $(LOCAL_PATH)/WebCore \
        $(LOCAL_PATH)/WebCore/accessibility \
+       $(LOCAL_PATH)/WebCore/bindings/ \
        $(LOCAL_PATH)/WebCore/bindings/generic \
        $(LOCAL_PATH)/WebCore/css \
        $(LOCAL_PATH)/WebCore/dom \
@@ -116,6 +141,8 @@ LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES) \
        $(LOCAL_PATH)/WebCore/inspector \
        $(LOCAL_PATH)/WebCore/loader \
        $(LOCAL_PATH)/WebCore/loader/appcache \
+       $(LOCAL_PATH)/WebCore/loader/archive \
+       $(LOCAL_PATH)/WebCore/loader/archive/android \
        $(LOCAL_PATH)/WebCore/loader/icon \
        $(LOCAL_PATH)/WebCore/notifications \
        $(LOCAL_PATH)/WebCore/page \
@@ -141,6 +168,7 @@ LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES) \
        $(LOCAL_PATH)/WebCore/platform/network/android \
        $(LOCAL_PATH)/WebCore/platform/sql \
        $(LOCAL_PATH)/WebCore/platform/text \
+       $(LOCAL_PATH)/WebCore/platform/text/transcoder \
        $(LOCAL_PATH)/WebCore/plugins \
        $(LOCAL_PATH)/WebCore/plugins/android \
        $(LOCAL_PATH)/WebCore/rendering \
@@ -214,6 +242,13 @@ intermediates := $(base_intermediates)/$d
 include $(LOCAL_PATH)/Android.mk
 WEBKIT_SRC_FILES += $(addprefix $d/,$(LOCAL_SRC_FILES))
 
+ifeq ($(HTTP_STACK),chrome)
+LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES) \
+       $(LOCAL_PATH)/WebKit/chromium/public \
+       external/chromium \
+       external/chromium/android
+endif # HTTP_STACK == chrome
+
 # Redefine LOCAL_PATH here so the build system is not confused
 LOCAL_PATH := $(BASE_PATH)
 
@@ -222,6 +257,11 @@ LOCAL_CFLAGS += -Wno-endif-labels -Wno-import -Wno-format
 LOCAL_CFLAGS += -fno-strict-aliasing
 LOCAL_CFLAGS += -include "WebCorePrefix.h"
 LOCAL_CFLAGS += -fvisibility=hidden
+ifeq ($(HTTP_STACK),chrome)
+LOCAL_CFLAGS += -DGOOGLEURL
+LOCAL_CFLAGS += -DWTF_USE_CHROME_NETWORK_STACK
+LOCAL_CFLAGS += -include "assert.h"
+endif # HTTP_STACK == chrome
 
 # Enable JSC JIT if JSC is used and ENABLE_JSC_JIT environment
 # variable is set to true
@@ -244,7 +284,7 @@ LOCAL_CFLAGS += -DANDROID_LARGE_MEMORY_DEVICE
 endif
 
 ifeq ($(ENABLE_SVG),true)
-LOCAL_CFLAGS += -DENABLE_SVG=1
+LOCAL_CFLAGS += -DENABLE_SVG=1 -DENABLE_SVG_ANIMATION=1
 endif
 
 ifeq ($(ENABLE_WTF_USE_ACCELERATED_COMPOSITING),false)
@@ -255,11 +295,6 @@ 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
-endif
-
 ifeq ($(WEBCORE_INSTRUMENTATION),true)
 LOCAL_CFLAGS += -DANDROID_INSTRUMENT
 endif
@@ -278,7 +313,6 @@ LOCAL_SHARED_LIBRARIES := \
        libui \
        libcutils \
        libicuuc \
-       libicudata \
        libicui18n \
        libmedia \
        libsurfaceflinger_client
@@ -293,12 +327,26 @@ LOCAL_SHARED_LIBRARIES += libdl libstlport
 include external/stlport/libstlport.mk
 endif
 
+# We need Harfbuzz library to support complex scripts(Arabic, Thai, Hindi...).
+ifeq ($(SUPPORT_COMPLEX_SCRIPTS),true)
+LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES) \
+       external/harfbuzz/src \
+       external/harfbuzz/contrib
+LOCAL_SHARED_LIBRARIES += libharfbuzz
+LOCAL_CFLAGS += -DSUPPORT_COMPLEX_SCRIPTS=1
+endif
+
 # Build the list of static libraries
-LOCAL_STATIC_LIBRARIES := libxml2
+LOCAL_STATIC_LIBRARIES := libxml2 libxslt libhyphenation
 ifeq ($(JAVASCRIPT_ENGINE),v8)
 LOCAL_STATIC_LIBRARIES += libv8
 endif
 
+ifeq ($(HTTP_STACK),chrome)
+LOCAL_STATIC_LIBRARIES += libchromium_net
+LOCAL_SHARED_LIBRARIES += libcrypto libssl libz
+endif # HTTP_STACK == chrome
+
 # Redefine LOCAL_SRC_FILES to be all the WebKit source files
 LOCAL_SRC_FILES := $(WEBKIT_SRC_FILES)
 
@@ -345,6 +393,10 @@ endif  # JAVASCRIPT_ENGINE == jsc
 # 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
+ifeq ($(HTTP_STACK),chrome)
+# Too large for the space with chromium linked in
+LOCAL_PRELINK_MODULE := false
+endif
 #LOCAL_PRELINK_MODULE := false
 LOCAL_MODULE := libwebcore
 LOCAL_LDLIBS := $(WEBKIT_LDLIBS)