1# 2# Copyright (C) 2012 The Android Open Source Project 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15# 16 17# This package provides the 'glue' layer between Chromium and WebView. 18 19LOCAL_PATH := $(call my-dir) 20CHROMIUM_PATH := external/chromium_org 21 22# Java glue layer JAR, calls directly into the chromium AwContents Java API. 23include $(CLEAR_VARS) 24 25LOCAL_MODULE := webviewchromium 26 27LOCAL_MODULE_TAGS := optional 28 29LOCAL_STATIC_JAVA_LIBRARIES += android_webview_java 30 31LOCAL_SRC_FILES := $(call all-java-files-under, java) 32 33LOCAL_JARJAR_RULES := $(CHROMIUM_PATH)/android_webview/build/jarjar-rules.txt 34 35# TODO: filter webviewchromium_webkit_strings based on PRODUCT_LOCALES. 36LOCAL_REQUIRED_MODULES := \ 37 libwebviewchromium \ 38 libwebviewchromium_plat_support \ 39 webviewchromium_pak \ 40 webviewchromium_webkit_strings_am.pak \ 41 webviewchromium_webkit_strings_ar.pak \ 42 webviewchromium_webkit_strings_bg.pak \ 43 webviewchromium_webkit_strings_bn.pak \ 44 webviewchromium_webkit_strings_ca.pak \ 45 webviewchromium_webkit_strings_cs.pak \ 46 webviewchromium_webkit_strings_da.pak \ 47 webviewchromium_webkit_strings_de.pak \ 48 webviewchromium_webkit_strings_el.pak \ 49 webviewchromium_webkit_strings_en-GB.pak \ 50 webviewchromium_webkit_strings_en-US.pak \ 51 webviewchromium_webkit_strings_es-419.pak \ 52 webviewchromium_webkit_strings_es.pak \ 53 webviewchromium_webkit_strings_et.pak \ 54 webviewchromium_webkit_strings_fa.pak \ 55 webviewchromium_webkit_strings_fil.pak \ 56 webviewchromium_webkit_strings_fi.pak \ 57 webviewchromium_webkit_strings_fr.pak \ 58 webviewchromium_webkit_strings_gu.pak \ 59 webviewchromium_webkit_strings_he.pak \ 60 webviewchromium_webkit_strings_hi.pak \ 61 webviewchromium_webkit_strings_hr.pak \ 62 webviewchromium_webkit_strings_hu.pak \ 63 webviewchromium_webkit_strings_id.pak \ 64 webviewchromium_webkit_strings_it.pak \ 65 webviewchromium_webkit_strings_ja.pak \ 66 webviewchromium_webkit_strings_kn.pak \ 67 webviewchromium_webkit_strings_ko.pak \ 68 webviewchromium_webkit_strings_lt.pak \ 69 webviewchromium_webkit_strings_lv.pak \ 70 webviewchromium_webkit_strings_ml.pak \ 71 webviewchromium_webkit_strings_mr.pak \ 72 webviewchromium_webkit_strings_ms.pak \ 73 webviewchromium_webkit_strings_nb.pak \ 74 webviewchromium_webkit_strings_nl.pak \ 75 webviewchromium_webkit_strings_pl.pak \ 76 webviewchromium_webkit_strings_pt-BR.pak \ 77 webviewchromium_webkit_strings_pt-PT.pak \ 78 webviewchromium_webkit_strings_ro.pak \ 79 webviewchromium_webkit_strings_ru.pak \ 80 webviewchromium_webkit_strings_sk.pak \ 81 webviewchromium_webkit_strings_sl.pak \ 82 webviewchromium_webkit_strings_sr.pak \ 83 webviewchromium_webkit_strings_sv.pak \ 84 webviewchromium_webkit_strings_sw.pak \ 85 webviewchromium_webkit_strings_ta.pak \ 86 webviewchromium_webkit_strings_te.pak \ 87 webviewchromium_webkit_strings_th.pak \ 88 webviewchromium_webkit_strings_tr.pak \ 89 webviewchromium_webkit_strings_uk.pak \ 90 webviewchromium_webkit_strings_vi.pak \ 91 webviewchromium_webkit_strings_zh-CN.pak \ 92 webviewchromium_webkit_strings_zh-TW.pak 93 94LOCAL_PROGUARD_ENABLED := full 95LOCAL_PROGUARD_FLAG_FILES := proguard.flags 96 97LOCAL_JAVACFLAGS := -Xlint:unchecked -Werror 98 99include $(BUILD_JAVA_LIBRARY) 100 101ifneq ($(strip $(LOCAL_JARJAR_RULES)),) 102# Add build rules to check that the jarjar'ed jar only contains whitelisted 103# packages. Only enable this when we are running jarjar. 104LOCAL_JAR_CHECK_WHITELIST := $(LOCAL_PATH)/jar_package_whitelist.txt 105 106jar_check_ok := $(intermediates.COMMON)/jar_check_ok 107$(jar_check_ok): PRIVATE_JAR_CHECK := $(LOCAL_PATH)/tools/jar_check.py 108$(jar_check_ok): PRIVATE_JAR_CHECK_WHITELIST := $(LOCAL_JAR_CHECK_WHITELIST) 109$(jar_check_ok): $(full_classes_jarjar_jar) $(LOCAL_PATH)/tools/jar_check.py $(LOCAL_JAR_CHECK_WHITELIST) 110 @echo Jar check: $@ 111 $(hide) $(PRIVATE_JAR_CHECK) $< $(PRIVATE_JAR_CHECK_WHITELIST) 112 $(hide) touch $@ 113 114$(LOCAL_BUILT_MODULE): $(jar_check_ok) 115endif 116 117 118 119# Native support library (libwebviewchromium_plat_support.so) - does NOT link 120# any native chromium code. 121include $(CLEAR_VARS) 122 123LOCAL_MODULE:= libwebviewchromium_plat_support 124 125LOCAL_SRC_FILES:= \ 126 plat_support/draw_gl_functor.cpp \ 127 plat_support/jni_entry_point.cpp \ 128 plat_support/graphics_utils.cpp \ 129 plat_support/graphic_buffer_impl.cpp \ 130 131LOCAL_C_INCLUDES:= \ 132 $(CHROMIUM_PATH) \ 133 external/skia/include/core \ 134 frameworks/base/core/jni/android/graphics \ 135 frameworks/native/include/ui \ 136 137LOCAL_SHARED_LIBRARIES += \ 138 libandroid_runtime \ 139 liblog \ 140 libcutils \ 141 libskia \ 142 libui \ 143 libutils \ 144 145LOCAL_MODULE_TAGS := optional 146 147# To remove warnings from skia header files 148LOCAL_CFLAGS := -Wno-unused-parameter 149 150include $(BUILD_SHARED_LIBRARY) 151include $(call first-makefiles-under,$(LOCAL_PATH)) 152