2009-03-04 11:28:42 +08:00
|
|
|
# Selects a Java compiler.
|
|
|
|
#
|
|
|
|
# Inputs:
|
2014-06-03 00:37:38 +08:00
|
|
|
# CUSTOM_JAVA_COMPILER -- "eclipse", "openjdk". or nothing for the system
|
2009-03-04 11:28:42 +08:00
|
|
|
# default
|
2014-01-10 07:33:06 +08:00
|
|
|
# ALTERNATE_JAVAC -- the alternate java compiler to use
|
2009-03-04 11:28:42 +08:00
|
|
|
#
|
|
|
|
# Outputs:
|
|
|
|
# COMMON_JAVAC -- Java compiler command with common arguments
|
2013-09-21 08:11:43 +08:00
|
|
|
#
|
2015-01-05 23:10:59 +08:00
|
|
|
|
2016-12-22 06:29:13 +08:00
|
|
|
ifndef ANDROID_COMPILE_WITH_JACK
|
2017-07-28 03:34:34 +08:00
|
|
|
# TODO(b/64113890, b/35788202): remove PRODUCT_COMPILE_WITH_JACK
|
|
|
|
ifdef PRODUCT_COMPILE_WITH_JACK
|
|
|
|
ANDROID_COMPILE_WITH_JACK := $(PRODUCT_COMPILE_WITH_JACK)
|
|
|
|
else
|
|
|
|
# TODO(b/62038127): remove TARGET_BUILD_APPS check
|
|
|
|
ifdef TARGET_BUILD_APPS
|
|
|
|
ANDROID_COMPILE_WITH_JACK := true
|
|
|
|
else
|
|
|
|
ANDROID_COMPILE_WITH_JACK := false
|
|
|
|
endif
|
|
|
|
endif
|
2016-12-22 06:29:13 +08:00
|
|
|
endif
|
|
|
|
|
2016-01-16 11:41:26 +08:00
|
|
|
common_jdk_flags := -Xmaxerrs 9999999
|
2013-09-21 08:11:43 +08:00
|
|
|
|
2017-07-26 20:59:39 +08:00
|
|
|
ifeq ($(OVERRIDE_ANDROID_JAVA_HOME),)
|
2017-07-01 07:01:45 +08:00
|
|
|
ANDROID_JAVA_HOME := prebuilts/jdk/jdk8/$(HOST_PREBUILT_TAG)
|
2017-07-26 20:59:39 +08:00
|
|
|
else
|
|
|
|
# Use this build toolchain instead of the bundled one.
|
|
|
|
ANDROID_JAVA_HOME := $(OVERRIDE_ANDROID_JAVA_HOME)
|
|
|
|
endif
|
2017-07-01 07:01:45 +08:00
|
|
|
ANDROID_JAVA_TOOLCHAIN := $(ANDROID_JAVA_HOME)/bin
|
2017-07-25 10:25:17 +08:00
|
|
|
export JAVA_HOME := $(abspath $(ANDROID_JAVA_HOME))
|
2017-07-01 07:01:45 +08:00
|
|
|
|
2014-01-10 07:33:06 +08:00
|
|
|
# Use the indexer wrapper to index the codebase instead of the javac compiler
|
|
|
|
ifeq ($(ALTERNATE_JAVAC),)
|
2017-07-01 07:01:45 +08:00
|
|
|
JAVACC := $(ANDROID_JAVA_TOOLCHAIN)/javac
|
2014-01-10 07:33:06 +08:00
|
|
|
else
|
|
|
|
JAVACC := $(ALTERNATE_JAVAC)
|
|
|
|
endif
|
2009-03-04 11:28:42 +08:00
|
|
|
|
2017-07-01 07:01:45 +08:00
|
|
|
JAVA := $(ANDROID_JAVA_TOOLCHAIN)/java
|
|
|
|
JAVADOC := $(ANDROID_JAVA_TOOLCHAIN)/javadoc
|
|
|
|
JAR := $(ANDROID_JAVA_TOOLCHAIN)/jar
|
2017-07-01 04:55:38 +08:00
|
|
|
|
2014-06-03 00:37:38 +08:00
|
|
|
# The actual compiler can be wrapped by setting the JAVAC_WRAPPER var.
|
|
|
|
ifdef JAVAC_WRAPPER
|
|
|
|
ifneq ($(JAVAC_WRAPPER),$(firstword $(JAVACC)))
|
|
|
|
JAVACC := $(JAVAC_WRAPPER) $(JAVACC)
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2017-03-23 11:41:14 +08:00
|
|
|
COMMON_JAVAC := $(JAVACC) -J-Xmx2048M $(common_jdk_flags)
|
2009-03-04 11:28:42 +08:00
|
|
|
|
2015-09-02 10:12:05 +08:00
|
|
|
GLOBAL_JAVAC_DEBUG_FLAGS := -g
|
|
|
|
|
2009-03-04 11:28:42 +08:00
|
|
|
HOST_JAVAC ?= $(COMMON_JAVAC)
|
|
|
|
TARGET_JAVAC ?= $(COMMON_JAVAC)
|
2014-01-10 07:33:06 +08:00
|
|
|
|
2009-03-04 11:28:42 +08:00
|
|
|
#$(info HOST_JAVAC=$(HOST_JAVAC))
|
|
|
|
#$(info TARGET_JAVAC=$(TARGET_JAVAC))
|