summaryrefslogtreecommitdiff
path: root/chromium/package.mk
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/package.mk')
-rw-r--r--chromium/package.mk100
1 files changed, 100 insertions, 0 deletions
diff --git a/chromium/package.mk b/chromium/package.mk
new file mode 100644
index 0000000..4f87464
--- /dev/null
+++ b/chromium/package.mk
@@ -0,0 +1,100 @@
+#
+# Copyright (C) 2014 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# This package provides the 'glue' layer between Chromium and WebView.
+
+LOCAL_PATH := $(call my-dir)
+CHROMIUM_PATH := external/chromium_org
+
+ifeq (,$(wildcard $(CHROMIUM_PATH)))
+# Some branches don't have the chromium sources; they shouldn't depend on
+# webview, but just in case this is a mistake, warn about it.
+$(warning Chromium sources missing, skipping webview package build)
+else
+# Chromium sources exist, build the package.
+
+# Java glue layer JAR, calls directly into the chromium AwContents Java API.
+include $(CLEAR_VARS)
+
+LOCAL_PACKAGE_NAME := webview
+
+LOCAL_MANIFEST_FILE := AndroidManifest.xml
+
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_STATIC_JAVA_LIBRARIES += android_webview_java_with_new_resources
+
+LOCAL_SRC_FILES := $(call all-java-files-under, java)
+LOCAL_SRC_FILES += $(extra_java_files)
+
+LOCAL_JARJAR_RULES := $(CHROMIUM_PATH)/android_webview/build/jarjar-rules.txt
+
+include $(CHROMIUM_PATH)/android_webview/build/resources_config.mk
+LOCAL_RESOURCE_DIR := \
+ $(res_overrides) \
+ $(LOCAL_PATH)/res \
+ $(android_webview_resources_dirs)
+
+LOCAL_AAPT_FLAGS := $(android_webview_aapt_flags)
+LOCAL_AAPT_FLAGS += --extra-packages com.android.webview.chromium
+LOCAL_AAPT_FLAGS += --shared-lib
+
+include $(LOCAL_PATH)/version.mk
+LOCAL_AAPT_FLAGS += --version-code "$(version_code)" --version-name "$(version_name)"
+
+LOCAL_JNI_SHARED_LIBRARIES += libwebviewchromium
+
+LOCAL_MULTILIB := both
+
+# See Bug 17409149.
+LOCAL_DEX_PREOPT := false
+
+# TODO: filter webviewchromium_webkit_strings based on PRODUCT_LOCALES.
+LOCAL_REQUIRED_MODULES := \
+ libwebviewchromium \
+ libwebviewchromium_loader \
+ libwebviewchromium_plat_support
+
+LOCAL_PROGUARD_ENABLED := full
+LOCAL_PROGUARD_FLAG_FILES := proguard.flags
+
+LOCAL_JAVACFLAGS := -Xlint:unchecked -Werror
+
+include $(BUILD_PACKAGE)
+
+$(LOCAL_BUILT_MODULE): $(android_webview_intermediates_pak_additional_deps)
+$(LOCAL_BUILT_MODULE): PRIVATE_ASSET_DIR += $(android_webview_asset_dirs)
+# This is needed to force the grd->string.xml conversion to run before we
+# attempt to generate the R.java file.
+$(R_file_stamp): $(call intermediates-dir-for,GYP,android_webview_resources)/android_webview_resources.stamp
+
+ifneq ($(strip $(LOCAL_JARJAR_RULES)),)
+# Add build rules to check that the jarjar'ed jar only contains whitelisted
+# packages. Only enable this when we are running jarjar.
+LOCAL_JAR_CHECK_WHITELIST := $(LOCAL_PATH)/jar_package_whitelist.txt
+
+jar_check_ok := $(intermediates.COMMON)/jar_check_ok
+$(jar_check_ok): PRIVATE_JAR_CHECK := $(LOCAL_PATH)/tools/jar_check.py
+$(jar_check_ok): PRIVATE_JAR_CHECK_WHITELIST := $(LOCAL_JAR_CHECK_WHITELIST)
+$(jar_check_ok): $(full_classes_jarjar_jar) $(LOCAL_PATH)/tools/jar_check.py $(LOCAL_JAR_CHECK_WHITELIST)
+ @echo Jar check: $@
+ $(hide) $(PRIVATE_JAR_CHECK) $< $(PRIVATE_JAR_CHECK_WHITELIST)
+ $(hide) touch $@
+
+$(LOCAL_BUILT_MODULE): $(jar_check_ok)
+endif
+
+endif # CHROMIUM_PATH existence test