Support custom RenderScript compiler

Change-Id: I85e38e84565e04f99dd26217f280274883dc322d
diff --git a/core/clear_vars.mk b/core/clear_vars.mk
index f947bf6..2d8c15a 100644
--- a/core/clear_vars.mk
+++ b/core/clear_vars.mk
@@ -102,6 +102,7 @@
 LOCAL_WARNINGS_ENABLE:=
 LOCAL_MANIFEST_FILE:=
 LOCAL_RENDERSCRIPT_INCLUDES:=
+LOCAL_RENDERSCRIPT_CC:=
 LOCAL_BUILD_HOST_DEX:=
 LOCAL_DEX_PREOPT:=
 LOCAL_PROTOC_OPTIMIZE_TYPE:= # lite(default),micro,full
diff --git a/core/definitions.mk b/core/definitions.mk
index 6db9d8f..fe4b534 100644
--- a/core/definitions.mk
+++ b/core/definitions.mk
@@ -781,7 +781,7 @@
 $(hide) rm -rf $(PRIVATE_RS_OUTPUT_DIR)
 $(hide) mkdir -p $(PRIVATE_RS_OUTPUT_DIR)/res/raw
 $(hide) mkdir -p $(PRIVATE_RS_OUTPUT_DIR)/src
-$(hide) $(LLVM_RS_CC) \
+$(hide) $(PRIVATE_RS_CC) \
   -o $(PRIVATE_RS_OUTPUT_DIR)/res/raw \
   -p $(PRIVATE_RS_OUTPUT_DIR)/src \
   -d $(PRIVATE_RS_OUTPUT_DIR) \
diff --git a/core/java.mk b/core/java.mk
index 0397deb..464f772 100644
--- a/core/java.mk
+++ b/core/java.mk
@@ -148,12 +148,17 @@
      $(LOCAL_RENDERSCRIPT_INCLUDES)
 endif
 
+ifeq ($(LOCAL_RENDERSCRIPT_CC),)
+LOCAL_RENDERSCRIPT_CC := $(LLVM_RS_CC)
+endif
+
 $(RenderScript_file_stamp): PRIVATE_RS_INCLUDES := $(LOCAL_RENDERSCRIPT_INCLUDES)
+$(RenderScript_file_stamp): PRIVATE_RS_CC := $(LOCAL_RENDERSCRIPT_CC)
 $(RenderScript_file_stamp): PRIVATE_RS_SOURCE_FILES := $(renderscript_sources_fullpath)
 # By putting the generated java files into $(LOCAL_INTERMEDIATE_SOURCE_DIR), they will be
 # automatically found by the java compiling function transform-java-to-classes.jar.
 $(RenderScript_file_stamp): PRIVATE_RS_OUTPUT_DIR := $(renderscript_intermediate)
-$(RenderScript_file_stamp): $(renderscript_sources_fullpath) $(LLVM_RS_CC)
+$(RenderScript_file_stamp): $(renderscript_sources_fullpath) $(LOCAL_RENDERSCRIPT_CC)
 	$(transform-renderscripts-to-java-and-bc)
 
 # include the dependency files (.d) generated by llvm-rs-cc.