summaryrefslogtreecommitdiffstats
path: root/Android.mk
diff options
context:
space:
mode:
Diffstat (limited to 'Android.mk')
-rw-r--r--Android.mk57
1 files changed, 56 insertions, 1 deletions
diff --git a/Android.mk b/Android.mk
index ecff19e..8faa76b 100644
--- a/Android.mk
+++ b/Android.mk
@@ -23,6 +23,11 @@
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
+# Control WebGL compiling in webkit.
+ifneq ($(ENABLE_WEBGL),true)
+ ENABLE_WEBGL = false
+endif
+
# Control SVG compiling in webkit.
# Default is true unless explictly disabled.
ifneq ($(ENABLE_SVG),false)
@@ -92,6 +97,14 @@ LOCAL_C_INCLUDES := \
frameworks/base/core/jni/android/graphics \
frameworks/base/include
+LOCAL_C_INCLUDES += external/libpng \
+ external/zlib
+
+ifeq ($(ENABLE_WEBGL),true)
+LOCAL_C_INCLUDES += frameworks/native/include/gui \
+ frameworks/native/include/private/gui
+endif
+
# Add Source/ for the include of <JavaScriptCore/config.h> from WebCore/config.h
LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES) \
$(SOURCE_PATH)
@@ -144,6 +157,7 @@ LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES) \
$(WEBCORE_PATH)/platform/image-decoders/jpeg \
$(WEBCORE_PATH)/platform/image-decoders/png \
$(WEBCORE_PATH)/platform/image-decoders/webp \
+ $(WEBCORE_PATH)/platform/image-encoders/skia \
$(WEBCORE_PATH)/platform/mock \
$(WEBCORE_PATH)/platform/network \
$(WEBCORE_PATH)/platform/network/android \
@@ -200,6 +214,10 @@ LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES) \
LOCAL_CFLAGS += -DWEBKIT_IMPLEMENTATION=1
+# Needed for ANGLE
+LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES) \
+ $(SOURCE_PATH)/ThirdParty/ANGLE/include/GLSLANG
+
# Include WTF source file.
d := Source/JavaScriptCore
LOCAL_PATH := $(BASE_PATH)/$d
@@ -278,6 +296,20 @@ ifeq ($(ENABLE_WTF_USE_ACCELERATED_COMPOSITING),true)
LOCAL_CFLAGS += -DWTF_USE_ACCELERATED_COMPOSITING=1
endif
+LOCAL_CFLAGS += -DENABLE_REQUEST_ANIMATION_FRAME=1
+
+ifeq ($(ENABLE_WEBGL),true)
+LOCAL_CFLAGS += -DENABLE_WEBGL
+endif
+
+# PLD based optimizations should be enabled only on Krait platforms
+KRAIT_BOARD_PLATFORM_LIST := msm8960
+KRAIT_BOARD_PLATFORM_LIST += msm8974
+
+ifeq ($(call is-board-platform-in-list,$(KRAIT_BOARD_PLATFORM_LIST)),true)
+ LOCAL_CFLAGS += -DENABLE_PLD_DOM_TRAVERSAL
+endif
+
# LOCAL_LDLIBS is used in simulator builds only and simulator builds are only
# valid on Linux
LOCAL_LDLIBS += -lpthread -ldl
@@ -318,13 +350,17 @@ ifeq ($(SUPPORT_COMPLEX_SCRIPTS),true)
LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES) \
external/harfbuzz/src \
external/harfbuzz/contrib
-LOCAL_SHARED_LIBRARIES += libharfbuzz
+LOCAL_SHARED_LIBRARIES += libharfbuzz libjpeg
LOCAL_CFLAGS += -DSUPPORT_COMPLEX_SCRIPTS=1
endif
# Build the list of static libraries
LOCAL_STATIC_LIBRARIES := libxml2 libxslt libhyphenation libskiagpu libv8
+ifeq ($(ENABLE_WEBGL),true)
+LOCAL_STATIC_LIBRARIES += libpng
+endif
+
ifeq ($(ENABLE_AUTOFILL),true)
LOCAL_SHARED_LIBRARIES += libexpat
endif
@@ -349,6 +385,24 @@ endif
# Build the library all at once
include $(BUILD_STATIC_LIBRARY)
+# Build ANGLE as a static library.
+include $(CLEAR_VARS)
+LOCAL_MODULE := libangle
+LOCAL_MODULE_CLASS := STATIC_LIBRARIES
+LOCAL_MODULE_TAGS := optional
+ANGLE_PATH := $(SOURCE_PATH)/ThirdParty/ANGLE
+LOCAL_SHARED_LIBRARIES := $(WEBKIT_SHARED_LIBRARIES)
+include $(ANGLE_PATH)/Android.mk
+# Redefine LOCAL_SRC_FILES with the correct prefix
+LOCAL_SRC_FILES := $(addprefix Source/ThirdParty/ANGLE/src/compiler/,$(LOCAL_SRC_FILES))
+# Append angle intermediate include paths to the WebKit include list.
+LOCAL_C_INCLUDES := $(WEBKIT_C_INCLUDES) \
+ $(ANGLE_PATH)/include \
+ $(ANGLE_PATH)/src
+LOCAL_CFLAGS += -Wno-error=non-virtual-dtor
+# Build libangle
+include $(BUILD_STATIC_LIBRARY)
+
# 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)
@@ -360,6 +414,7 @@ LOCAL_MODULE := libwebcore
LOCAL_LDLIBS := $(WEBKIT_LDLIBS)
LOCAL_SHARED_LIBRARIES := $(WEBKIT_SHARED_LIBRARIES)
LOCAL_STATIC_LIBRARIES := libwebcore $(WEBKIT_STATIC_LIBRARIES)
+LOCAL_STATIC_LIBRARIES += libangle
LOCAL_LDFLAGS := -fvisibility=hidden
LOCAL_CFLAGS := $(WEBKIT_CFLAGS)
LOCAL_CPPFLAGS := $(WEBKIT_CPPFLAGS)