146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)#
246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)# Copyright (C) 2012 The Android Open Source Project
346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)#
446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)# Licensed under the Apache License, Version 2.0 (the "License");
546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)# you may not use this file except in compliance with the License.
646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)# You may obtain a copy of the License at
746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)#
846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)#      http://www.apache.org/licenses/LICENSE-2.0
946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)#
1046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)# Unless required by applicable law or agreed to in writing, software
1146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)# distributed under the License is distributed on an "AS IS" BASIS,
1246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)# See the License for the specific language governing permissions and
1446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)# limitations under the License.
1546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)#
1646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
1746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)# This package provides the 'glue' layer between Chromium and WebView.
1846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
1946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)LOCAL_PATH := $(call my-dir)
200a0259ff81b6a18766473d72feeb82dba3a35093Torne (Richard Coles)CHROMIUM_PATH := external/chromium_org
21a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon
22a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon# Java glue layer JAR, calls directly into the chromium AwContents Java API.
2346f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)include $(CLEAR_VARS)
2446f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
2546f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)LOCAL_MODULE := webviewchromium
2646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
2746f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)LOCAL_MODULE_TAGS := optional
2846f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
295b636587610c88fe2316b78c4ee58ca32119f2d9Torne (Richard Coles)LOCAL_STATIC_JAVA_LIBRARIES += android_webview_java
3046f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
3146f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)LOCAL_SRC_FILES := $(call all-java-files-under, java)
3246f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
338a25a8e322e8699b0d3f756465fee5a66ab4dc82Torne (Richard Coles)LOCAL_JARJAR_RULES := $(CHROMIUM_PATH)/android_webview/build/jarjar-rules.txt
348a25a8e322e8699b0d3f756465fee5a66ab4dc82Torne (Richard Coles)
35617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch# TODO: filter webviewchromium_webkit_strings based on PRODUCT_LOCALES.
36a05566067d5a010130b0b1aa36eb0d7b3f73e122Torne (Richard Coles)LOCAL_REQUIRED_MODULES := \
37ebf3772d08779f136eef48c45e8b286b27b21132Ben Murdoch        libwebviewchromium \
38ebf3772d08779f136eef48c45e8b286b27b21132Ben Murdoch        libwebviewchromium_plat_support \
39ebf3772d08779f136eef48c45e8b286b27b21132Ben Murdoch        webviewchromium_pak \
40617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_am.pak \
41617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_ar.pak \
42617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_bg.pak \
43617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_bn.pak \
44617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_ca.pak \
45617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_cs.pak \
46617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_da.pak \
47617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_de.pak \
48617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_el.pak \
49617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_en-GB.pak \
50617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_en-US.pak \
51617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_es-419.pak \
52617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_es.pak \
53617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_et.pak \
54617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_fa.pak \
55617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_fil.pak \
56617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_fi.pak \
57617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_fr.pak \
58617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_gu.pak \
59617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_he.pak \
60617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_hi.pak \
61617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_hr.pak \
62617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_hu.pak \
63617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_id.pak \
64617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_it.pak \
65617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_ja.pak \
66617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_kn.pak \
67617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_ko.pak \
68617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_lt.pak \
69617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_lv.pak \
70617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_ml.pak \
71617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_mr.pak \
72617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_ms.pak \
73617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_nb.pak \
74617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_nl.pak \
75617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_pl.pak \
76617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_pt-BR.pak \
77617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_pt-PT.pak \
78617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_ro.pak \
79617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_ru.pak \
80617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_sk.pak \
81617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_sl.pak \
82617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_sr.pak \
83617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_sv.pak \
84617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_sw.pak \
85617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_ta.pak \
86617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_te.pak \
87617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_th.pak \
88617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_tr.pak \
89617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_uk.pak \
90617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_vi.pak \
91617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_zh-CN.pak \
92617a9fdc247d2bb599f94f1ae267df82b8e66ab6Ben Murdoch        webviewchromium_webkit_strings_zh-TW.pak
93a05566067d5a010130b0b1aa36eb0d7b3f73e122Torne (Richard Coles)
94ac2530ca1b3791854af1d7284ed31384f8550789Torne (Richard Coles)LOCAL_PROGUARD_ENABLED := full
959eea229e384e9aeee1d36a38f3130d96e1510667Torne (Richard Coles)LOCAL_PROGUARD_FLAG_FILES := proguard.flags
9646f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)
973ea7e2214406c213fc5612886e78e41bed64f3d5Kristian MonsenLOCAL_JAVACFLAGS := -Xlint:unchecked -Werror
983ea7e2214406c213fc5612886e78e41bed64f3d5Kristian Monsen
9946f104289826e85ba76a1a2139d7ecc7daca07b1Torne (Richard Coles)include $(BUILD_JAVA_LIBRARY)
100a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon
1011d6f99d5c9c776f5cfc638b0e020fb08dd536dcaTorne (Richard Coles)ifneq ($(strip $(LOCAL_JARJAR_RULES)),)
1021d6f99d5c9c776f5cfc638b0e020fb08dd536dcaTorne (Richard Coles)# Add build rules to check that the jarjar'ed jar only contains whitelisted
1031d6f99d5c9c776f5cfc638b0e020fb08dd536dcaTorne (Richard Coles)# packages. Only enable this when we are running jarjar.
104527aec2b7316d7d7c088156af8e118b525dc48bdTorne (Richard Coles)LOCAL_JAR_CHECK_WHITELIST := $(LOCAL_PATH)/jar_package_whitelist.txt
1051d6f99d5c9c776f5cfc638b0e020fb08dd536dcaTorne (Richard Coles)
1061d6f99d5c9c776f5cfc638b0e020fb08dd536dcaTorne (Richard Coles)jar_check_ok := $(intermediates.COMMON)/jar_check_ok
1071d6f99d5c9c776f5cfc638b0e020fb08dd536dcaTorne (Richard Coles)$(jar_check_ok): PRIVATE_JAR_CHECK := $(LOCAL_PATH)/tools/jar_check.py
1081d6f99d5c9c776f5cfc638b0e020fb08dd536dcaTorne (Richard Coles)$(jar_check_ok): PRIVATE_JAR_CHECK_WHITELIST := $(LOCAL_JAR_CHECK_WHITELIST)
1091d6f99d5c9c776f5cfc638b0e020fb08dd536dcaTorne (Richard Coles)$(jar_check_ok): $(full_classes_jarjar_jar) $(LOCAL_PATH)/tools/jar_check.py $(LOCAL_JAR_CHECK_WHITELIST)
1101d6f99d5c9c776f5cfc638b0e020fb08dd536dcaTorne (Richard Coles)	@echo Jar check: $@
1111d6f99d5c9c776f5cfc638b0e020fb08dd536dcaTorne (Richard Coles)	$(hide) $(PRIVATE_JAR_CHECK) $< $(PRIVATE_JAR_CHECK_WHITELIST)
1121d6f99d5c9c776f5cfc638b0e020fb08dd536dcaTorne (Richard Coles)	$(hide) touch $@
1131d6f99d5c9c776f5cfc638b0e020fb08dd536dcaTorne (Richard Coles)
1141d6f99d5c9c776f5cfc638b0e020fb08dd536dcaTorne (Richard Coles)$(LOCAL_BUILT_MODULE): $(jar_check_ok)
1151d6f99d5c9c776f5cfc638b0e020fb08dd536dcaTorne (Richard Coles)endif
1161d6f99d5c9c776f5cfc638b0e020fb08dd536dcaTorne (Richard Coles)
117c09906e775b8e8ab1e3cd1c25080a4baa5724f80Torne (Richard Coles)
1181d6f99d5c9c776f5cfc638b0e020fb08dd536dcaTorne (Richard Coles)
119a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon# Native support library (libwebviewchromium_plat_support.so) - does NOT link
120c09906e775b8e8ab1e3cd1c25080a4baa5724f80Torne (Richard Coles)# any native chromium code.
121a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixoninclude $(CLEAR_VARS)
122a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon
123a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan DixonLOCAL_MODULE:= libwebviewchromium_plat_support
124a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon
125a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan DixonLOCAL_SRC_FILES:=       \
126a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon        plat_support/draw_gl_functor.cpp \
127991b0c63bb8c0b0d8577a255b026117e9f37ceceJonathan Dixon        plat_support/jni_entry_point.cpp \
128991b0c63bb8c0b0d8577a255b026117e9f37ceceJonathan Dixon        plat_support/graphics_utils.cpp \
129c5cde8c18df853e11d1ec528508fd0fe2e742d5cKaan Baloglu        plat_support/graphic_buffer_impl.cpp \
130a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon
131a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan DixonLOCAL_C_INCLUDES:= \
132991b0c63bb8c0b0d8577a255b026117e9f37ceceJonathan Dixon        $(CHROMIUM_PATH) \
133991b0c63bb8c0b0d8577a255b026117e9f37ceceJonathan Dixon        external/skia/include/core \
134991b0c63bb8c0b0d8577a255b026117e9f37ceceJonathan Dixon        frameworks/base/core/jni/android/graphics \
135c5cde8c18df853e11d1ec528508fd0fe2e742d5cKaan Baloglu        frameworks/native/include/ui \
136a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon
137a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan DixonLOCAL_SHARED_LIBRARIES += \
138991b0c63bb8c0b0d8577a255b026117e9f37ceceJonathan Dixon        libandroid_runtime \
13982e61dd79e147076444acc16664368338904dc04Ying Wang        liblog \
140991b0c63bb8c0b0d8577a255b026117e9f37ceceJonathan Dixon        libcutils \
141991b0c63bb8c0b0d8577a255b026117e9f37ceceJonathan Dixon        libskia \
142c5cde8c18df853e11d1ec528508fd0fe2e742d5cKaan Baloglu        libui \
143a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon        libutils \
144a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon
145a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan DixonLOCAL_MODULE_TAGS := optional
146a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixon
14703506360ed108ae00fad990fa49f7ada97fc7a04Kristian Monsen# To remove warnings from skia header files
14803506360ed108ae00fad990fa49f7ada97fc7a04Kristian MonsenLOCAL_CFLAGS := -Wno-unused-parameter
14903506360ed108ae00fad990fa49f7ada97fc7a04Kristian Monsen
150a2b0d0b4d6d1ff22fbb1329e358e1cc0a112aab3Jonathan Dixoninclude $(BUILD_SHARED_LIBRARY)
15125e9b72ff8ea3106d97cfee01dd9cb3ad5ec2c82Primiano Tucciinclude $(call first-makefiles-under,$(LOCAL_PATH))
152