ART: Fix Clang CFLAGS inclusion

Only include the CFLAGS if Clang is not explicitly disabled for the
architecture.

Change-Id: Ic63d7c8018f633a9b20a4ff9285d6380426017a5
diff --git a/build/Android.common_build.mk b/build/Android.common_build.mk
index 68f5ed7..0d3b4c9 100644
--- a/build/Android.common_build.mk
+++ b/build/Android.common_build.mk
@@ -138,7 +138,7 @@
 # Suggest final: Have to move to a more recent GCC.
 #                  -Wsuggest-final-types
 
-
+ART_TARGET_CLANG_CFLAGS := $(art_clang_cflags)
 ifeq ($(ART_HOST_CLANG),true)
   # Bug: 15446488. We don't omit the frame pointer to work around
   # clang/libunwind bugs that cause SEGVs in run-test-004-ThreadStress.
@@ -146,10 +146,14 @@
 else
   ART_HOST_CFLAGS += $(art_gcc_cflags)
 endif
-ifeq ($(ART_TARGET_CLANG),true)
-  ART_TARGET_CFLAGS += $(art_clang_cflags)
-else
+ifneq ($(ART_TARGET_CLANG),true)
   ART_TARGET_CFLAGS += $(art_gcc_cflags)
+else
+  # TODO: if we ever want to support GCC/Clang mix for multi-target products, this needs to be
+  #       split up.
+  ifeq ($(ART_TARGET_CLANG_$(TARGET_ARCH)),false)
+    ART_TARGET_CFLAGS += $(art_gcc_cflags)
+  endif
 endif
 
 # Clear local variables now their use has ended.
@@ -294,11 +298,9 @@
     LOCAL_CFLAGS += $(ART_TARGET_NON_DEBUG_CFLAGS)
   endif
 
-  # TODO: Also set when ART_TARGET_CLANG_$(arch)!=false and ART_TARGET_CLANG==true
+  LOCAL_CLANG_CFLAGS := $(ART_TARGET_CLANG_CFLAGS)
   $(foreach arch,$(ART_SUPPORTED_ARCH),
-    ifeq ($$(ART_TARGET_CLANG_$(arch)),true)
-      LOCAL_CFLAGS_$(arch) += $$(ART_TARGET_CLANG_CFLAGS_$(arch))
-  endif)
+    LOCAL_CLANG_CFLAGS_$(arch) += $$(ART_TARGET_CLANG_CFLAGS_$(arch)))
 
   # Clear locally used variables.
   art_target_cflags_ndebug_or_debug :=
diff --git a/build/Android.gtest.mk b/build/Android.gtest.mk
index 5aa264c..8180ce8 100644
--- a/build/Android.gtest.mk
+++ b/build/Android.gtest.mk
@@ -210,14 +210,14 @@
 LOCAL_MODULE := libart-gtest
 LOCAL_MODULE_TAGS := optional
 LOCAL_CPP_EXTENSION := cc
-LOCAL_CFLAGS := $(ART_TARGET_CFLAGS)
 LOCAL_SRC_FILES := runtime/common_runtime_test.cc compiler/common_compiler_test.cc
 LOCAL_C_INCLUDES := $(ART_C_INCLUDES) art/runtime art/compiler
 LOCAL_SHARED_LIBRARIES := libartd libartd-compiler libdl
 LOCAL_STATIC_LIBRARIES += libgtest
-LOCAL_CLANG := $(ART_TARGET_CLANG)
 LOCAL_ADDITIONAL_DEPENDENCIES := art/build/Android.common_build.mk
 LOCAL_ADDITIONAL_DEPENDENCIES += art/build/Android.gtest.mk
+$(eval $(call set-target-local-clang-vars))
+$(eval $(call set-target-local-cflags-vars,debug))
 include external/libcxx/libcxx.mk
 include $(BUILD_SHARED_LIBRARY)