Don't install all host modules by default.
Instead we should explicitly set up the dependency, if the module will
be used in the build process; Use LOCAL_MODULE_TAGS with eng, debug or
tests if the module is for testing; or add to PRODUCT_PACKAGES if it's
required by a product.
Change-Id: I326e97df6630dee4acc6582ce6cef2dec8289155
diff --git a/core/Makefile b/core/Makefile
index e0f6da8..69bedf7 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -1430,7 +1430,6 @@
$(atree_dir)/sdk.atree \
$(sdk_tools_atree_files) \
$(HOST_OUT_EXECUTABLES)/atree \
- $(ALL_HOST_INSTALLED_FILES) \
$(HOST_OUT_EXECUTABLES)/line_endings
INTERNAL_SDK_TARGET := $(sdk_dir)/$(sdk_name).zip
diff --git a/core/base_rules.mk b/core/base_rules.mk
index 530105b..2f58769 100644
--- a/core/base_rules.mk
+++ b/core/base_rules.mk
@@ -505,17 +505,6 @@
$(LOCAL_INSTALLED_MODULE) : $(installed_odex)
endif
-
-# All host modules are automatically installed.
-# Save the installed files in ALL_HOST_INSTALLED_FILES.
-ifeq ($(LOCAL_IS_HOST_MODULE),true)
- ALL_HOST_INSTALLED_FILES += $(LOCAL_INSTALLED_MODULE)
- ifneq ($(filter debug eng tests, $(LOCAL_MODULE_TAGS)),)
- $(warning $(LOCAL_MODULE_MAKEFILE): Host module "$(LOCAL_MODULE)" has useless module tags: $(filter debug eng tests, $(LOCAL_MODULE_TAGS)). It will be installed anyway.)
- LOCAL_MODULE_TAGS := $(filter-out debug eng tests, $(LOCAL_MODULE_TAGS))
- endif
-endif
-
endif # !LOCAL_UNINSTALLABLE_MODULE
diff --git a/core/definitions.mk b/core/definitions.mk
index 744e8be..be4a07b 100644
--- a/core/definitions.mk
+++ b/core/definitions.mk
@@ -55,11 +55,6 @@
# its sub-variables.)
ALL_MODULE_NAME_TAGS:=
-# All host modules are automatically installed (i.e. outside
-# of the product configuration scheme). This is a list of the
-# install targets (LOCAL_INSTALLED_MODULE).
-ALL_HOST_INSTALLED_FILES:=
-
# Full paths to all prebuilt files that will be copied
# (used to make the dependency on acp)
ALL_PREBUILT:=
diff --git a/core/main.mk b/core/main.mk
index a914135..ab6f905 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -688,9 +688,6 @@
$(warning $(ALL_MODULES.$(m).MAKEFILE): Module '$(m)' in PRODUCT_PACKAGES_TESTS has nothing to install!)))
endif
-# Install all of the host modules
-modules_to_install += $(sort $(modules_to_install) $(ALL_HOST_INSTALLED_FILES))
-
# build/core/Makefile contains extra stuff that we don't want to pollute this
# top-level makefile with. It expects that ALL_DEFAULT_INSTALLED_MODULES
# contains everything that's built during the current make, but it also further
diff --git a/target/product/sdk.mk b/target/product/sdk.mk
index 33b9bf4..b6fe025 100644
--- a/target/product/sdk.mk
+++ b/target/product/sdk.mk
@@ -78,6 +78,27 @@
audio_policy.default \
local_time.default
+
+# Host tools.
+PRODUCT_PACKAGES += \
+ fastboot \
+ emulator-x86 \
+ emulator-arm \
+ emulator-mips \
+ emulator64-x86 \
+ emulator64-arm \
+ emulator64-mips \
+ libOpenglRender \
+ libGLES_CM_translator \
+ libGLES_V2_translator \
+ libEGL_translator \
+ lib64OpenglRender \
+ lib64GLES_CM_translator \
+ lib64GLES_V2_translator \
+ lib64EGL_translator \
+ hierarchyviewer2 \
+ emugen
+
PRODUCT_PACKAGE_OVERLAYS := development/sdk_overlay
PRODUCT_COPY_FILES := \