Default to LLVM 7.0 JIT in Android build.

Also fall back to LLVM 3.0 automatically if C++11 is not supported.

Bug b/115344057
Bug b/116540140

Change-Id: Ied0bfa17fcdc82f1181704fd63eda5c312b8380e
Reviewed-on: https://swiftshader-review.googlesource.com/c/21510
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
diff --git a/Android.mk b/Android.mk
index 5165436..1cc9690 100644
--- a/Android.mk
+++ b/Android.mk
@@ -17,35 +17,27 @@
 LOCAL_PATH := $(call my-dir)
 swiftshader_root := $(LOCAL_PATH)
 
-# LLVM version for SwiftShader
-REACTOR_LLVM_VERSION ?= 3
+# Default LLVM version for SwiftShader's JIT compiler (Reactor).
+REACTOR_LLVM_VERSION ?= 7
 
+# Subzero is an alternative JIT compiler. It is smaller and generally slower.
+REACTOR_USE_SUBZERO := false
 
 ifeq ($(REACTOR_LLVM_VERSION),3)
 # Reactor with LLVM 3.0 doesn't support ARM.  Use Subzero as the Reactor JIT
 # back-end on ARM.
 ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),arm))
-SWIFTSHADER_USE_SUBZERO := true
+REACTOR_USE_SUBZERO := true
 endif
 endif
 
-
-# Check whether SwiftShader requires full C++ 11 support.
-ifdef SWIFTSHADER_USE_SUBZERO
-swiftshader_requires_cxx11 := true
-endif
-
-ifeq ($(REACTOR_LLVM_VERSION),7)
-swiftshader_requires_cxx11 := true
-endif
-
-ifeq ($(swiftshader_requires_cxx11),true)
-# Full C++ 11 support is only available from Marshmallow and up.
+# Subzero and LLVM 7.0 require C++11.
+# Full C++11 support is only available from Marshmallow and up.
 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow)
-swiftshader_unsupported_build := true
+# Fall back to LLVM 3.0.
+REACTOR_USE_SUBZERO := false
+REACTOR_LLVM_VERSION := 3
 endif
-endif
-
 
 # Check whether $(TARGET_ARCH) is supported.
 ifeq ($(REACTOR_LLVM_VERSION),3)
@@ -60,7 +52,6 @@
 endif
 endif
 
-
 ifneq ($(swiftshader_unsupported_build),true)
 include $(swiftshader_root)/src/Android.mk
 include $(swiftshader_root)/tests/GLESUnitTests/Android.mk
diff --git a/src/Android.mk b/src/Android.mk
index 9e06bea..5f94583 100644
--- a/src/Android.mk
+++ b/src/Android.mk
@@ -7,7 +7,7 @@
 	$(LOCAL_PATH)/OpenGL/ \
 	$(LOCAL_PATH)
 
-ifdef SWIFTSHADER_USE_SUBZERO
+ifdef REACTOR_USE_SUBZERO
 
 COMMON_C_INCLUDES += \
 	$(LOCAL_PATH)/../third_party/subzero/ \
@@ -66,7 +66,7 @@
 	Reactor/DebugAndroid.cpp \
 	Reactor/ExecutableMemory.cpp
 
-ifdef SWIFTSHADER_USE_SUBZERO
+ifdef REACTOR_USE_SUBZERO
 COMMON_SRC_FILES += \
 	Reactor/SubzeroReactor.cpp \
 	Reactor/Optimizer.cpp
diff --git a/src/OpenGL/libGLES_CM/Android.mk b/src/OpenGL/libGLES_CM/Android.mk
index 624b350..9b00f42 100644
--- a/src/OpenGL/libGLES_CM/Android.mk
+++ b/src/OpenGL/libGLES_CM/Android.mk
@@ -56,7 +56,7 @@
 	$(LOCAL_PATH)/../../Shader/ \
 	$(LOCAL_PATH)/../../Main/
 
-ifdef SWIFTSHADER_USE_SUBZERO
+ifdef REACTOR_USE_SUBZERO
 COMMON_STATIC_LIBRARIES := libsubzero
 else
 COMMON_STATIC_LIBRARIES := libLLVM_swiftshader
diff --git a/src/OpenGL/libGLESv2/Android.mk b/src/OpenGL/libGLESv2/Android.mk
index f92358b..747a6b0 100644
--- a/src/OpenGL/libGLESv2/Android.mk
+++ b/src/OpenGL/libGLESv2/Android.mk
@@ -65,7 +65,7 @@
 	$(LOCAL_PATH)/../../Shader/ \
 	$(LOCAL_PATH)/../../Main/
 
-ifdef SWIFTSHADER_USE_SUBZERO
+ifdef REACTOR_USE_SUBZERO
 COMMON_STATIC_LIBRARIES := libsubzero
 else
 COMMON_STATIC_LIBRARIES := libLLVM_swiftshader