From 43e18e0d7ba8c83335a4e782f0f3be737322f209 Mon Sep 17 00:00:00 2001 From: Ying Wang Date: Tue, 13 Sep 2011 13:57:26 -0700 Subject: [PATCH] Install path support for vendor modules. Bug: 5284764 Set "LOCAL_PROPRIETARY_MODULE := true" to install module to vendor partition. Change-Id: I9acdda6b2ff3142628b9849ea534b3ec288545a0 --- core/base_rules.mk | 14 +++++++++----- core/clear_vars.mk | 1 + core/envsetup.mk | 8 ++++++++ 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/core/base_rules.mk b/core/base_rules.mk index 8039d65c24..e18b6ecf93 100644 --- a/core/base_rules.mk +++ b/core/base_rules.mk @@ -122,12 +122,16 @@ ifneq (,$(filter $(LOCAL_MODULE),$(CUSTOM_MODULES))) LOCAL_MODULE_TAGS := $(sort $(LOCAL_MODULE_TAGS) user) endif -# The definition of should-install-to-system will be different depending -# on which goal (e.g., sdk or just droid) is being built. ifdef LOCAL_IS_HOST_MODULE - use_data := + partition_tag := else - use_data := $(if $(call should-install-to-system,$(LOCAL_MODULE_TAGS)),,_DATA) +ifeq (true,$(LOCAL_PROPRIETARY_MODULE)) + partition_tag := _VENDOR +else + # The definition of should-install-to-system will be different depending + # on which goal (e.g., sdk or just droid) is being built. + partition_tag := $(if $(call should-install-to-system,$(LOCAL_MODULE_TAGS)),,_DATA) +endif endif LOCAL_MODULE_CLASS := $(strip $(LOCAL_MODULE_CLASS)) @@ -145,7 +149,7 @@ endif LOCAL_MODULE_PATH := $(strip $(LOCAL_MODULE_PATH)) ifeq ($(LOCAL_MODULE_PATH),) - LOCAL_MODULE_PATH := $($(my_prefix)OUT$(use_data)_$(LOCAL_MODULE_CLASS)) + LOCAL_MODULE_PATH := $($(my_prefix)OUT$(partition_tag)_$(LOCAL_MODULE_CLASS)) ifeq ($(strip $(LOCAL_MODULE_PATH)),) $(error $(LOCAL_PATH): unhandled LOCAL_MODULE_CLASS "$(LOCAL_MODULE_CLASS)") endif diff --git a/core/clear_vars.mk b/core/clear_vars.mk index c5e4cc77f9..8c5a40e3a6 100644 --- a/core/clear_vars.mk +++ b/core/clear_vars.mk @@ -112,6 +112,7 @@ LOCAL_DEX_PREOPT:= LOCAL_PROTOC_OPTIMIZE_TYPE:= # lite(default),micro,full LOCAL_PROTOC_FLAGS:= LOCAL_NO_CRT:= +LOCAL_PROPRIETARY_MODULE:= # Trim MAKEFILE_LIST so that $(call my-dir) doesn't need to # iterate over thousands of entries every time. diff --git a/core/envsetup.mk b/core/envsetup.mk index 016560a7ee..c3ae3b08ed 100644 --- a/core/envsetup.mk +++ b/core/envsetup.mk @@ -206,6 +206,14 @@ TARGET_OUT_DATA_ETC := $(TARGET_OUT_ETC) TARGET_OUT_DATA_STATIC_LIBRARIES:= $(TARGET_OUT_STATIC_LIBRARIES) TARGET_OUT_DATA_NATIVE_TESTS := $(TARGET_OUT_DATA)/nativetest +TARGET_OUT_VENDOR := $(PRODUCT_OUT)/system/vendor +TARGET_OUT_VENDOR_EXECUTABLES:= $(TARGET_OUT_VENDOR)/bin +TARGET_OUT_VENDOR_OPTIONAL_EXECUTABLES:= $(TARGET_OUT_VENDOR)/xbin +TARGET_OUT_VENDOR_SHARED_LIBRARIES:= $(TARGET_OUT_VENDOR)/lib +TARGET_OUT_VENDOR_JAVA_LIBRARIES:= $(TARGET_OUT_VENDOR)/framework +TARGET_OUT_VENDOR_APPS:= $(TARGET_OUT_VENDOR)/app +TARGET_OUT_VENDOR_ETC := $(TARGET_OUT_VENDOR)/etc + TARGET_OUT_UNSTRIPPED := $(PRODUCT_OUT)/symbols TARGET_OUT_EXECUTABLES_UNSTRIPPED := $(TARGET_OUT_UNSTRIPPED)/system/bin TARGET_OUT_SHARED_LIBRARIES_UNSTRIPPED := $(TARGET_OUT_UNSTRIPPED)/system/lib