64-bit host multilib build.

Bug: 13751317
Change-Id: I98c0d593e441add79d51ec1b690c4abd3489a8cf
diff --git a/Android.mk b/Android.mk
index 2196d59..57185ca 100644
--- a/Android.mk
+++ b/Android.mk
@@ -151,7 +151,7 @@
 # host test targets
 
 .PHONY: test-art-host-vixl
-ifneq ($(BUILD_HOST_64bit),)
+ifneq ($(HOST_IS_64_BIT),)
 test-art-host-vixl: $(ANDROID_HOST_OUT)/bin/cctest_vixl
 	$(ANDROID_HOST_OUT)/bin/cctest_vixl --run_all
 	@echo vixl PASSED
diff --git a/build/Android.common.mk b/build/Android.common.mk
index 39601e4..cc600bd 100644
--- a/build/Android.common.mk
+++ b/build/Android.common.mk
@@ -37,11 +37,7 @@
 ART_BUILD_HOST_NDEBUG ?= $(WITH_HOST_DALVIK)
 ART_BUILD_HOST_DEBUG ?= $(WITH_HOST_DALVIK)
 
-ifeq ($(BUILD_HOST_64bit),)
-ART_HOST_ARCH := x86
-else
-ART_HOST_ARCH := x86_64
-endif
+ART_HOST_ARCH := $(HOST_ARCH)
 
 ifeq ($(ART_BUILD_TARGET_NDEBUG),false)
 $(info Disabling ART_BUILD_TARGET_NDEBUG)
diff --git a/runtime/Android.mk b/runtime/Android.mk
index 052d12e..4a23263 100644
--- a/runtime/Android.mk
+++ b/runtime/Android.mk
@@ -226,7 +226,7 @@
 	monitor_pool.cc \
 	arch/arm64/fault_handler_arm64.cc
 
-LIBART_TARGET_SRC_FILES_x86 := \
+LIBART_SRC_FILES_x86 := \
 	arch/x86/context_x86.cc \
 	arch/x86/entrypoints_init_x86.cc \
 	arch/x86/jni_entrypoints_x86.S \
@@ -235,7 +235,10 @@
 	arch/x86/thread_x86.cc \
 	arch/x86/fault_handler_x86.cc
 
-LIBART_TARGET_SRC_FILES_x86_64 := \
+LIBART_TARGET_SRC_FILES_x86 := \
+	$(LIBART_SRC_FILES_x86)
+
+LIBART_SRC_FILES_x86_64 := \
 	arch/x86_64/context_x86_64.cc \
 	arch/x86_64/entrypoints_init_x86_64.cc \
 	arch/x86_64/jni_entrypoints_x86_64.S \
@@ -245,6 +248,8 @@
 	monitor_pool.cc \
 	arch/x86_64/fault_handler_x86_64.cc
 
+LIBART_TARGET_SRC_FILES_x86_64 := \
+	$(LIBART_SRC_FILES_x86_64) \
 
 LIBART_TARGET_SRC_FILES_mips := \
 	arch/mips/context_mips.cc \
@@ -270,31 +275,11 @@
 	runtime_linux.cc \
 	thread_linux.cc
 
-ifeq ($(HOST_ARCH),x86_64)
-LIBART_HOST_SRC_FILES += \
-	arch/x86_64/context_x86_64.cc \
-	arch/x86_64/entrypoints_init_x86_64.cc \
-	arch/x86_64/jni_entrypoints_x86_64.S \
-	arch/x86_64/portable_entrypoints_x86_64.S \
-	arch/x86_64/quick_entrypoints_x86_64.S \
-	arch/x86_64/thread_x86_64.cc \
-	arch/x86_64/fault_handler_x86_64.cc \
-	monitor_pool.cc
-else
-  ifeq ($(HOST_ARCH),x86)
-LIBART_HOST_SRC_FILES += \
-	arch/x86/context_x86.cc \
-	arch/x86/entrypoints_init_x86.cc \
-	arch/x86/jni_entrypoints_x86.S \
-	arch/x86/portable_entrypoints_x86.S \
-	arch/x86/quick_entrypoints_x86.S \
-	arch/x86/fault_handler_x86.cc \
-	arch/x86/thread_x86.cc
-  else # HOST_ARCH != x86 && HOST_ARCH != x86_64
-$(error unsupported HOST_ARCH=$(HOST_ARCH))
-  endif
-endif
+LIBART_HOST_SRC_FILES_32 := \
+	$(LIBART_SRC_FILES_x86)
 
+LIBART_HOST_SRC_FILES_64 := \
+	$(LIBART_SRC_FILES_x86_64)
 
 LIBART_ENUM_OPERATOR_OUT_HEADER_FILES := \
 	arch/x86_64/registers_x86_64.h \
@@ -363,6 +348,8 @@
       LOCAL_SRC_FILES_$(arch) := $$(LIBART_TARGET_SRC_FILES_$(arch)))
   else # host
     LOCAL_SRC_FILES := $(LIBART_HOST_SRC_FILES)
+    LOCAL_SRC_FILES_32 := $(LIBART_HOST_SRC_FILES_32)
+    LOCAL_SRC_FILES_64 := $(LIBART_HOST_SRC_FILES_64)
     LOCAL_IS_HOST_MODULE := true
   endif