Merge "Add audio-route to pathmap.mk"
diff --git a/core/base_rules.mk b/core/base_rules.mk
index fcd40a2..e69f73f 100644
--- a/core/base_rules.mk
+++ b/core/base_rules.mk
@@ -434,8 +434,7 @@
 ###########################################################
 cleantarget := clean-$(LOCAL_MODULE)
 $(cleantarget) : PRIVATE_MODULE := $(LOCAL_MODULE)
-$(cleantarget) : PRIVATE_CLEAN_FILES := \
-    $(PRIVATE_CLEAN_FILES) \
+$(cleantarget) : PRIVATE_CLEAN_FILES += \
     $(LOCAL_BUILT_MODULE) \
     $(LOCAL_INSTALLED_MODULE) \
     $(intermediates)
diff --git a/core/config.mk b/core/config.mk
index 8fd97dc..d52d1ab 100644
--- a/core/config.mk
+++ b/core/config.mk
@@ -302,7 +302,6 @@
 PROGUARD := external/proguard/bin/proguard.sh
 JAVATAGS := build/tools/java-event-log-tags.py
 LLVM_RS_CC := $(HOST_OUT_EXECUTABLES)/llvm-rs-cc$(HOST_EXECUTABLE_SUFFIX)
-LLVM_RS_LINK := $(HOST_OUT_EXECUTABLES)/llvm-rs-link$(HOST_EXECUTABLE_SUFFIX)
 BCC_COMPAT := $(HOST_OUT_EXECUTABLES)/bcc_compat$(HOST_EXECUTABLE_SUFFIX)
 DEXOPT := $(HOST_OUT_EXECUTABLES)/dexopt$(HOST_EXECUTABLE_SUFFIX)
 DEXPREOPT := dalvik/tools/dex-preopt
diff --git a/core/definitions.mk b/core/definitions.mk
index e216a70..c91220d 100644
--- a/core/definitions.mk
+++ b/core/definitions.mk
@@ -813,8 +813,6 @@
   $(PRIVATE_RS_FLAGS) \
   $(foreach inc,$(PRIVATE_RS_INCLUDES),$(addprefix -I , $(inc))) \
   $(PRIVATE_RS_SOURCE_FILES)
-#$(hide) $(LLVM_RS_LINK) \
-#  $(PRIVATE_RS_OUTPUT_DIR)/res/raw/*.bc
 $(hide) mkdir -p $(dir $@)
 $(hide) touch $@
 endef
@@ -826,7 +824,9 @@
 	-rt-path $(PRIVATE_LIBCLCORE) $<
 $(hide) $(PRIVATE_CXX) -shared -Wl,-soname,$(notdir $@) -nostdlib \
 	-Wl,-rpath,\$$ORIGIN/../lib \
-	$(dir $@)/$(notdir $(<:.bc=.o)) -o $@ -L prebuilts/gcc/ \
+	$(dir $@)/$(notdir $(<:.bc=.o)) \
+	$(PRIVATE_COMPILER_RT) \
+	-o $@ -L prebuilts/gcc/ \
 	-L $(TARGET_OUT_INTERMEDIATE_LIBRARIES) -lRSSupport -lm
 endef
 
@@ -1638,10 +1638,10 @@
 #TODO: update the manifest to point to the dex file
 define add-dex-to-package
 $(if $(filter classes.dex,$(notdir $(PRIVATE_DEX_FILE))),\
-$(hide) $(AAPT) add -k $@ $(PRIVATE_DEX_FILE),\
+$(hide) zip -qj $@ $(PRIVATE_DEX_FILE),\
 $(hide) _adtp_classes_dex=$(dir $(PRIVATE_DEX_FILE))classes.dex; \
 cp $(PRIVATE_DEX_FILE) $$_adtp_classes_dex && \
-$(AAPT) add -k $@ $$_adtp_classes_dex && rm -f $$_adtp_classes_dex)
+zip -qj $@ $$_adtp_classes_dex && rm -f $$_adtp_classes_dex)
 endef
 
 # Add java resources added by the current module.
diff --git a/core/dex_preopt.mk b/core/dex_preopt.mk
index 4c51b10..82dd153 100644
--- a/core/dex_preopt.mk
+++ b/core/dex_preopt.mk
@@ -4,7 +4,7 @@
 ####################################
 
 # TODO: replace it with device's BOOTCLASSPATH
-DEXPREOPT_BOOT_JARS := core:core-junit:bouncycastle:ext:framework:telephony-common:mms-common:android.policy:services:apache-xml
+DEXPREOPT_BOOT_JARS := core:core-junit:bouncycastle:ext:framework:telephony-common:voip-common:mms-common:android.policy:services:apache-xml
 DEXPREOPT_BOOT_JARS_MODULES := $(subst :, ,$(DEXPREOPT_BOOT_JARS))
 
 DEXPREOPT_BUILD_DIR := $(OUT_DIR)
diff --git a/core/droiddoc.mk b/core/droiddoc.mk
index 88031ba..383cafd 100644
--- a/core/droiddoc.mk
+++ b/core/droiddoc.mk
@@ -144,15 +144,15 @@
 $(full_target): PRIVATE_OUT_CUSTOM_ASSET_DIR := $(out_dir)/$(LOCAL_DROIDDOC_CUSTOM_ASSET_DIR)
 ifneq ($(strip $(LOCAL_DROIDDOC_HTML_DIR)),)
 $(full_target): PRIVATE_DROIDDOC_HTML_DIR := -htmldir $(LOCAL_PATH)/$(LOCAL_DROIDDOC_HTML_DIR)
+html_dir_files := $(shell find $(LOCAL_PATH)/$(LOCAL_DROIDDOC_HTML_DIR) -type f)
 else
-$(full_target): PRIVATE_DROIDDOC_HTML_DIR := 
+$(full_target): PRIVATE_DROIDDOC_HTML_DIR :=
+html_dir_files :=
 endif
 
 # TODO: not clear if this is used any more
 $(full_target): PRIVATE_LOCAL_PATH := $(LOCAL_PATH)
 
-html_dir_files := $(shell find $(LOCAL_PATH)/$(LOCAL_DROIDDOC_HTML_DIR) -type f)
-
 $(full_target): $(full_src_files) $(droiddoc_templates) $(droiddoc) $(html_dir_files) $(full_java_lib_deps) $(LOCAL_ADDITIONAL_DEPENDENCIES)
 	@echo Docs droiddoc: $(PRIVATE_OUT_DIR)
 	$(hide) mkdir -p $(dir $(full_target))
diff --git a/core/dumpvar.mk b/core/dumpvar.mk
index 47ac9e2..92bf6af 100644
--- a/core/dumpvar.mk
+++ b/core/dumpvar.mk
@@ -98,6 +98,7 @@
 $(info   TARGET_BUILD_APPS=$(TARGET_BUILD_APPS))
 $(info   TARGET_ARCH=$(TARGET_ARCH))
 $(info   TARGET_ARCH_VARIANT=$(TARGET_ARCH_VARIANT))
+$(info   TARGET_CPU_VARIANT=$(TARGET_CPU_VARIANT))
 $(info   HOST_ARCH=$(HOST_ARCH))
 $(info   HOST_OS=$(HOST_OS))
 $(info   HOST_OS_EXTRA=$(HOST_OS_EXTRA))
diff --git a/core/dynamic_binary.mk b/core/dynamic_binary.mk
index 0ca1858..6ede57f 100644
--- a/core/dynamic_binary.mk
+++ b/core/dynamic_binary.mk
@@ -128,8 +128,7 @@
 endif # LOCAL_STRIP_MODULE
 
 
-$(cleantarget): PRIVATE_CLEAN_FILES := \
-			$(PRIVATE_CLEAN_FILES) \
-			$(linked_module) \
-			$(symbolic_output) \
-			$(compress_output)
+$(cleantarget): PRIVATE_CLEAN_FILES += \
+    $(linked_module) \
+    $(symbolic_output) \
+    $(compress_output)
diff --git a/core/java.mk b/core/java.mk
index b0fc268..9086134 100644
--- a/core/java.mk
+++ b/core/java.mk
@@ -209,13 +209,15 @@
 rs_built_clcore := $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libclcore.bc_intermediates/libclcore.bc
 rs_support_lib := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)/libRSSupport.so
 rs_jni_lib := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)/librsjni.so
+rs_compiler_rt := $(call intermediates-dir-for,STATIC_LIBRARIES,libcompiler-rt)/libcompiler-rt.a
 LOCAL_JNI_SHARED_LIBRARIES += libRSSupport librsjni
 
 $(rs_compatibility_jni_libs): $(RenderScript_file_stamp)
 $(rs_compatibility_jni_libs): $(BCC_COMPAT) $(rs_built_clcore)
-$(rs_compatibility_jni_libs): $(rs_support_lib) $(rs_jni_lib)
+$(rs_compatibility_jni_libs): $(rs_support_lib) $(rs_jni_lib) $(rs_compiler_rt)
 $(rs_compatibility_jni_libs): PRIVATE_CXX := $(TARGET_CXX)
 $(rs_compatibility_jni_libs): PRIVATE_LIBCLCORE := $(rs_built_clcore)
+$(rs_compatibility_jni_libs): PRIVATE_COMPILER_RT := $(rs_compiler_rt)
 $(rs_compatibility_jni_libs): $(renderscript_intermediate)/lib%.so: \
     $(renderscript_intermediate)/res/raw/%.bc
 	$(transform-bc-to-so)
diff --git a/core/java_library.mk b/core/java_library.mk
index 6392108..62b16c3 100644
--- a/core/java_library.mk
+++ b/core/java_library.mk
@@ -73,7 +73,7 @@
 else # !LOCAL_IS_STATIC_JAVA_LIBRARY
 
 $(common_javalib.jar): PRIVATE_DEX_FILE := $(built_dex)
-$(common_javalib.jar) : $(built_dex) $(java_resource_sources) | $(AAPT)
+$(common_javalib.jar) : $(built_dex) $(java_resource_sources)
 	@echo "target Jar: $(PRIVATE_MODULE) ($@)"
 	$(create-empty-package)
 	$(add-dex-to-package)
@@ -106,7 +106,7 @@
 	@mkdir -p $(dir $@)
 	$(call dexpreopt-one-file,$<,$@)
 
-$(LOCAL_BUILT_MODULE) : $(common_javalib.jar) | $(ACP) $(AAPT)
+$(LOCAL_BUILT_MODULE) : $(common_javalib.jar) | $(ACP)
 	$(call copy-file-to-target)
 ifneq (nostripping,$(LOCAL_DEX_PREOPT))
 	$(call dexpreopt-remove-classes.dex,$@)
diff --git a/core/llvm_config.mk b/core/llvm_config.mk
index 62e51ac..876bc2f 100644
--- a/core/llvm_config.mk
+++ b/core/llvm_config.mk
@@ -15,7 +15,6 @@
 
 CLANG_CONFIG_EXTRA_CFLAGS := \
   -D__compiler_offsetof=__builtin_offsetof \
-  -Dnan=__builtin_nan \
 
 CLANG_CONFIG_UNKNOWN_CFLAGS := \
   -funswitch-loops
diff --git a/core/pathmap.mk b/core/pathmap.mk
index b2d5aba..27f42d4 100644
--- a/core/pathmap.mk
+++ b/core/pathmap.mk
@@ -98,7 +98,6 @@
 	    wifi \
 	    keystore \
 	    icu4j \
-	    voip \
 	 )
 
 #
diff --git a/core/pdk_config.mk b/core/pdk_config.mk
index 894b626..28c01f3 100644
--- a/core/pdk_config.mk
+++ b/core/pdk_config.mk
@@ -47,6 +47,7 @@
 	target/common/obj/JAVA_LIBRARIES/framework_intermediates \
 	target/common/obj/JAVA_LIBRARIES/android.test.runner_intermediates \
 	target/common/obj/JAVA_LIBRARIES/telephony-common_intermediates \
+	target/common/obj/JAVA_LIBRARIES/voip-common_intermediates \
 	target/common/obj/JAVA_LIBRARIES/mms-common_intermediates
 # not java libraries
 PDK_PLATFORM_JAVA_ZIP_CONTENTS := \
diff --git a/core/product.mk b/core/product.mk
index b934826..bbd0c31 100644
--- a/core/product.mk
+++ b/core/product.mk
@@ -209,6 +209,7 @@
 _product_stash_var_list := $(_product_var_list) \
 	TARGET_ARCH \
 	TARGET_ARCH_VARIANT \
+	TARGET_CPU_VARIANT \
 	TARGET_BOARD_PLATFORM \
 	TARGET_BOARD_PLATFORM_GPU \
 	TARGET_BOARD_KERNEL_HEADERS \
diff --git a/target/product/core.mk b/target/product/core.mk
index 108e231..03ed394 100644
--- a/target/product/core.mk
+++ b/target/product/core.mk
@@ -30,7 +30,6 @@
     Contacts \
     ContactsProvider \
     DefaultContainerService \
-    Dialer \
     DownloadProvider \
     DownloadProviderUi \
     HTMLViewer \
@@ -130,6 +129,7 @@
     lint \
     uiautomator \
     telephony-common \
+    voip-common \
     mms-common
 
 # SELinux packages
diff --git a/target/product/mini.mk b/target/product/mini.mk
index 3c24876..cb4f6e2 100644
--- a/target/product/mini.mk
+++ b/target/product/mini.mk
@@ -151,6 +151,7 @@
     sensorservice \
     lint \
     telephony-common \
+    voip-common \
     mms-common
 
 PRODUCT_COPY_FILES += \
diff --git a/target/product/telephony.mk b/target/product/telephony.mk
index 89ed20a..da1497d 100644
--- a/target/product/telephony.mk
+++ b/target/product/telephony.mk
@@ -18,6 +18,7 @@
 # to products that have telephony hardware.
 
 PRODUCT_PACKAGES := \
+    Dialer \
     Mms \
     rild