summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNarayan Kamath <narayan@google.com>2013-12-06 09:13:58 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2013-12-06 09:13:58 -0800
commita8dcc8c81a567902bee69a8dcd7357d391ef39b9 (patch)
tree67f52fdeb73b907a1d9d80099d3489085397fab7
parent722581a59873a98d30f7af34300049d524c1783f (diff)
parentfe57f665074665edf469ad1e1d0fcef749f9a5bb (diff)
downloadbuild-a8dcc8c81a567902bee69a8dcd7357d391ef39b9.zip
build-a8dcc8c81a567902bee69a8dcd7357d391ef39b9.tar.gz
build-a8dcc8c81a567902bee69a8dcd7357d391ef39b9.tar.bz2
am fe57f665: Merge "A few more Java7 related clean ups."
* commit 'fe57f665074665edf469ad1e1d0fcef749f9a5bb': A few more Java7 related clean ups.
-rw-r--r--core/combo/javac.mk4
-rw-r--r--core/main.mk42
2 files changed, 28 insertions, 18 deletions
diff --git a/core/combo/javac.mk b/core/combo/javac.mk
index 74490fd..2aea3e1 100644
--- a/core/combo/javac.mk
+++ b/core/combo/javac.mk
@@ -8,10 +8,10 @@
# COMMON_JAVAC -- Java compiler command with common arguments
#
-ifeq ($(EXPERIMENTAL_USE_JAVA7_OPENJDK),)
+ifeq ($(EXPERIMENTAL_USE_JAVA7),)
common_flags := -target 1.5 -Xmaxerrs 9999999
else
-common_flags := -Xmaxerrs 9999999
+common_flags := -source 1.7 -target 1.7 -Xmaxerrs 9999999
endif
diff --git a/core/main.mk b/core/main.mk
index 511d19e..5494a73 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -138,18 +138,30 @@ $(warning ************************************************************)
$(error Directory names containing spaces not supported)
endif
-# Check for the current jdk
-ifneq ($(EXPERIMENTAL_USE_JAVA7_OPENJDK),)
-# The user asked for java7 openjdk, so check that the host
-# java version is really openjdk
+# Check for the current JDK.
+#
+# For Java 1.7, we require OpenJDK on linux and Oracle JDK on Mac OS.
+# For Java 1.6, we require Oracle for all host OSes.
+requires_openjdk := false
+ifneq ($(EXPERIMENTAL_USE_JAVA7),)
+ifeq ($(HOST_OS), linux)
+requires_openjdk := true
+endif
+endif
+
+ifeq ($(requires_openjdk), true)
ifeq ($(shell java -version 2>&1 | grep -i openjdk),)
$(info ************************************************************)
-$(info You asked for an OpenJDK 7 build but your version is)
+$(info You are attempting to build with an unsupported JDK.)
+$(info $(space))
+$(info This build requires OpenJDK, but you are using:
$(info $(shell java -version 2>&1 | head -n 2).)
+$(info Please follow the machine setup instructions at)
+$(info $(space)$(space)$(space)$(space)https://source.android.com/source/download.html)
$(info ************************************************************)
$(error stop)
endif # java version is not OpenJdk
-else # if EXPERIMENTAL_USE_JAVA7_OPENJDK
+else # if requires_openjdk
ifneq ($(shell java -version 2>&1 | grep -i openjdk),)
$(info ************************************************************)
$(info You are attempting to build with an unsupported JDK.)
@@ -160,21 +172,19 @@ $(info $(space)$(space)$(space)$(space)https://source.android.com/source/downloa
$(info ************************************************************)
$(error stop)
endif # java version is not Sun Oracle JDK
-endif # if EXPERIMENTAL_USE_JAVA7_OPENJDK
+endif # if requires_openjdk
# Check for the correct version of java, should be 1.7 if
-# EXPERIMENTAL_USE_JAVA7_OPENJDK is set, 1.6 otherwise.
-ifneq ($(EXPERIMENTAL_USE_JAVA7_OPENJDK),)
-required_version := "OpenJDK 1.7"
-required_javac_version := "1.7"
+# EXPERIMENTAL_USE_JAVA7 is set, 1.6 otherwise.
+ifneq ($(EXPERIMENTAL_USE_JAVA7),)
+required_version := "1.7.x"
java_version := $(shell java -version 2>&1 | head -n 1 | grep '^java .*[ "]1\.7[\. "$$]')
javac_version := $(shell javac -version 2>&1 | head -n 1 | grep '[ "]1\.7[\. "$$]')
-else # if EXPERIMENTAL_USE_JAVA7_OPENJDK
-required_version := "JavaSE 1.6"
-required_javac_version := "1.6"
+else # if EXPERIMENTAL_USE_JAVA7
+required_version := "1.6.x"
java_version := $(shell java -version 2>&1 | head -n 1 | grep '^java .*[ "]1\.6[\. "$$]')
javac_version := $(shell javac -version 2>&1 | head -n 1 | grep '[ "]1\.6[\. "$$]')
-endif # if EXPERIMENTAL_USE_JAVA7_OPENJDK
+endif # if EXPERIMENTAL_USE_JAVA7
ifeq ($(strip $(java_version)),)
$(info ************************************************************)
@@ -197,7 +207,7 @@ $(info You are attempting to build with the incorrect version)
$(info of javac.)
$(info $(space))
$(info Your version is: $(shell javac -version 2>&1 | head -n 1).)
-$(info The required version is: $(required_javac_version))
+$(info The required version is: $(required_java_version))
$(info $(space))
$(info Please follow the machine setup instructions at)
$(info $(space)$(space)$(space)$(space)https://source.android.com/source/download.html)