Merge "Add all languages to the SDK image." into gingerbread
diff --git a/core/combo/select.mk b/core/combo/select.mk
index 916320b..797c573 100644
--- a/core/combo/select.mk
+++ b/core/combo/select.mk
@@ -50,7 +50,7 @@
 $(combo_target)GLOBAL_LDFLAGS :=
 $(combo_target)GLOBAL_ARFLAGS := crsP
 
-$(combo_target)EXECUTABLE_SUFFIX := 
+$(combo_target)EXECUTABLE_SUFFIX :=
 $(combo_target)SHLIB_SUFFIX := .so
 $(combo_target)JNILIB_SUFFIX := $($(combo_target)SHLIB_SUFFIX)
 $(combo_target)STATIC_LIB_SUFFIX := .a
@@ -62,7 +62,12 @@
 
 ifneq ($(USE_CCACHE),)
   ccache := prebuilt/$(HOST_PREBUILT_TAG)/ccache/ccache
-  $(combo_target)CC := $(ccache) $($(combo_target)CC)
-  $(combo_target)CXX := $(ccache) $($(combo_target)CXX)
+  # prepend ccache if necessary
+  ifneq ($(ccache),$(firstword $($(combo_target)CC)))
+    $(combo_target)CC := $(ccache) $($(combo_target)CC)
+  endif
+  ifneq ($(ccache),$(firstword $($(combo_target)CXX)))
+    $(combo_target)CXX := $(ccache) $($(combo_target)CXX)
+  endif
   ccache =
 endif
diff --git a/core/multi_prebuilt.mk b/core/multi_prebuilt.mk
index 738a88d..7602673 100644
--- a/core/multi_prebuilt.mk
+++ b/core/multi_prebuilt.mk
@@ -21,6 +21,7 @@
 prebuilt_java_libraries := $(LOCAL_PREBUILT_JAVA_LIBRARIES)
 prebuilt_static_java_libraries := $(LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES)
 prebuilt_is_host := $(LOCAL_IS_HOST_MODULE)
+prebuilt_module_tags := $(LOCAL_MODULE_TAGS)
 
 
 ifndef multi_prebuilt_once
@@ -29,9 +30,10 @@
 # $(1): file list
 # $(2): IS_HOST_MODULE
 # $(3): MODULE_CLASS
-# $(4): OVERRIDE_BUILT_MODULE_PATH
-# $(5): UNINSTALLABLE_MODULE
-# $(6): BUILT_MODULE_STEM
+# $(4): MODULE_TAGS
+# $(5): OVERRIDE_BUILT_MODULE_PATH
+# $(6): UNINSTALLABLE_MODULE
+# $(7): BUILT_MODULE_STEM
 #
 # Elements in the file list may be bare filenames,
 # or of the form "<modulename>:<filename>".
@@ -45,8 +47,9 @@
   $(eval include $(CLEAR_VARS)) \
   $(eval LOCAL_IS_HOST_MODULE := $(2)) \
   $(eval LOCAL_MODULE_CLASS := $(3)) \
-  $(eval OVERRIDE_BUILT_MODULE_PATH := $(4)) \
-  $(eval LOCAL_UNINSTALLABLE_MODULE := $(5)) \
+  $(eval LOCAL_MODULE_TAGS := $(4)) \
+  $(eval OVERRIDE_BUILT_MODULE_PATH := $(5)) \
+  $(eval LOCAL_UNINSTALLABLE_MODULE := $(6)) \
   $(eval tw := $(subst :, ,$(strip $(t)))) \
   $(if $(word 3,$(tw)),$(error $(LOCAL_PATH): Bad prebuilt filename '$(t)')) \
   $(if $(word 2,$(tw)), \
@@ -56,8 +59,8 @@
     $(eval LOCAL_MODULE := $(basename $(notdir $(t)))) \
     $(eval LOCAL_SRC_FILES := $(t)) \
    ) \
-  $(if $(6), \
-    $(eval LOCAL_BUILT_MODULE_STEM := $(6)) \
+  $(if $(7), \
+    $(eval LOCAL_BUILT_MODULE_STEM := $(7)) \
    , \
     $(eval LOCAL_BUILT_MODULE_STEM := $(notdir $(LOCAL_SRC_FILES))) \
    ) \
@@ -73,6 +76,7 @@
     $(prebuilt_static_libs), \
     $(prebuilt_is_host), \
     STATIC_LIBRARIES, \
+    $(prebuilt_module_tags), \
     , \
     true)
 
@@ -80,17 +84,20 @@
     $(prebuilt_shared_libs), \
     $(prebuilt_is_host), \
     SHARED_LIBRARIES, \
+    $(prebuilt_module_tags), \
     $($(if $(prebuilt_is_host),HOST,TARGET)_OUT_INTERMEDIATE_LIBRARIES))
 
 $(call auto-prebuilt-boilerplate, \
     $(prebuilt_executables), \
     $(prebuilt_is_host), \
-    EXECUTABLES)
+    EXECUTABLES, \
+    $(prebuilt_module_tags))
 
 $(call auto-prebuilt-boilerplate, \
     $(prebuilt_java_libraries), \
     $(prebuilt_is_host), \
     JAVA_LIBRARIES, \
+    $(prebuilt_module_tags), \
     , \
     , \
     javalib.jar)
@@ -99,6 +106,7 @@
     $(prebuilt_static_java_libraries), \
     $(prebuilt_is_host), \
     JAVA_LIBRARIES, \
+    $(prebuilt_module_tags), \
     , \
     true, \
     javalib.jar)
@@ -109,3 +117,4 @@
 prebuilt_java_libraries :=
 prebuilt_static_java_libraries :=
 prebuilt_is_host :=
+prebuilt_module_tags :=
diff --git a/core/tasks/cts.mk b/core/tasks/cts.mk
index f697347..8e22552 100644
--- a/core/tasks/cts.mk
+++ b/core/tasks/cts.mk
@@ -45,7 +45,8 @@
 
 $(cts_dir)/all_cts_files_stamp: PRIVATE_JUNIT_HOST_JAR := $(junit_host_jar)
 
-$(cts_dir)/all_cts_files_stamp: $(CTS_CASE_LIST) $(junit_host_jar) $(HOSTTESTLIB_JAR) $(ACP)
+-include cts/CtsHostLibraryList.mk
+$(cts_dir)/all_cts_files_stamp: $(CTS_CASE_LIST) $(junit_host_jar) $(HOSTTESTLIB_JAR) $(CTS_HOST_LIBRARY_JARS) $(ACP)
 # Make necessary directory for CTS
 	@rm -rf $(PRIVATE_CTS_DIR)
 	@mkdir -p $(TMP_DIR)
@@ -53,15 +54,8 @@
 	@mkdir -p $(PRIVATE_DIR)/tools
 	@mkdir -p $(PRIVATE_DIR)/repository/testcases
 	@mkdir -p $(PRIVATE_DIR)/repository/plans
-# Copy executable to CTS directory
-	$(hide) $(ACP) -fp $(CTS_HOST_JAR) $(PRIVATE_DIR)/tools
-	$(hide) $(ACP) -fp $(CTS_EXECUTABLE_PATH) $(PRIVATE_DIR)/tools
-# Copy ddmlib prebuilt jar
-	$(hide) $(ACP) -fp $(DDMLIB_JAR) $(PRIVATE_DIR)/tools
-# Copy junit jar
-	$(hide) $(ACP) -fp $(PRIVATE_JUNIT_HOST_JAR) $(PRIVATE_DIR)/tools
-# Copy hosttestlib jar
-	$(hide) $(ACP) -fp $(HOSTTESTLIB_JAR) $(PRIVATE_DIR)/tools
+# Copy executable and JARs to CTS directory
+	$(hide) $(ACP) -fp $(CTS_HOST_JAR) $(CTS_EXECUTABLE_PATH) $(DDMLIB_JAR) $(PRIVATE_JUNIT_HOST_JAR) $(HOSTTESTLIB_JAR) $(CTS_HOST_LIBRARY_JARS) $(PRIVATE_DIR)/tools
 # Change mode of the executables
 	$(hide) chmod ug+rwX $(PRIVATE_DIR)/tools/$(notdir $(CTS_EXECUTABLE_PATH))
 	$(foreach apk,$(CTS_CASE_LIST), \
diff --git a/target/product/full.mk b/target/product/full.mk
index 8725804..c204aad 100644
--- a/target/product/full.mk
+++ b/target/product/full.mk
@@ -43,6 +43,9 @@
 # on smaller devices.
 $(call inherit-product, frameworks/base/data/sounds/OriginalAudio.mk)
 
+# Get the TTS language packs
+$(call inherit-product-if-exists, external/svox/pico/lang/all_pico_languages.mk)
+
 # Get a list of languages. We use the small list to save space
 # on smaller devices.
 $(call inherit-product, build/target/product/languages_small.mk)
@@ -54,4 +57,3 @@
 PRODUCT_BRAND := generic
 PRODUCT_DEVICE := generic
 PRODUCT_MODEL := Full Android
-