blob: 7d19279ced7577fbd658354a611df887ffa84a7d [file] [log] [blame]
The Android Open Source Project88b60792009-03-03 19:28:42 -08001# Selects a Java compiler.
2#
3# Inputs:
Primiano Tucci994c84f2014-06-02 17:37:38 +01004# CUSTOM_JAVA_COMPILER -- "eclipse", "openjdk". or nothing for the system
The Android Open Source Project88b60792009-03-03 19:28:42 -08005# default
Brian Carlstromb6dcef82014-01-09 15:33:06 -08006# ALTERNATE_JAVAC -- the alternate java compiler to use
The Android Open Source Project88b60792009-03-03 19:28:42 -08007#
8# Outputs:
9# COMMON_JAVAC -- Java compiler command with common arguments
Ying Wangad690992013-09-20 17:11:43 -070010#
11
Colin Cross79e2f732016-12-21 14:29:13 -080012ifndef ANDROID_COMPILE_WITH_JACK
13# Defines if compilation with jack is enabled by default.
14ANDROID_COMPILE_WITH_JACK := true
15endif
16
Neil Fuller2428bfe2016-01-15 19:41:26 -080017common_jdk_flags := -Xmaxerrs 9999999
Ying Wangad690992013-09-20 17:11:43 -070018
Tobias Thierer1b53ea02017-07-26 13:59:39 +010019ifeq ($(OVERRIDE_ANDROID_JAVA_HOME),)
Colin Crosse97e6932017-06-30 16:01:45 -070020ANDROID_JAVA_HOME := prebuilts/jdk/jdk8/$(HOST_PREBUILT_TAG)
Tobias Thierer1b53ea02017-07-26 13:59:39 +010021else
22# Use this build toolchain instead of the bundled one.
23ANDROID_JAVA_HOME := $(OVERRIDE_ANDROID_JAVA_HOME)
24endif
Colin Crosse97e6932017-06-30 16:01:45 -070025ANDROID_JAVA_TOOLCHAIN := $(ANDROID_JAVA_HOME)/bin
Colin Cross3a1544a2017-07-24 19:25:17 -070026export JAVA_HOME := $(abspath $(ANDROID_JAVA_HOME))
Colin Crosse97e6932017-06-30 16:01:45 -070027
Brian Carlstromb6dcef82014-01-09 15:33:06 -080028# Use the indexer wrapper to index the codebase instead of the javac compiler
29ifeq ($(ALTERNATE_JAVAC),)
Colin Crosse97e6932017-06-30 16:01:45 -070030JAVACC := $(ANDROID_JAVA_TOOLCHAIN)/javac
Brian Carlstromb6dcef82014-01-09 15:33:06 -080031else
32JAVACC := $(ALTERNATE_JAVAC)
33endif
The Android Open Source Project88b60792009-03-03 19:28:42 -080034
Colin Crosse97e6932017-06-30 16:01:45 -070035JAVA := $(ANDROID_JAVA_TOOLCHAIN)/java
36JAVADOC := $(ANDROID_JAVA_TOOLCHAIN)/javadoc
37JAR := $(ANDROID_JAVA_TOOLCHAIN)/jar
Colin Cross0851df82017-06-30 13:55:38 -070038
Primiano Tucci994c84f2014-06-02 17:37:38 +010039# The actual compiler can be wrapped by setting the JAVAC_WRAPPER var.
40ifdef JAVAC_WRAPPER
41 ifneq ($(JAVAC_WRAPPER),$(firstword $(JAVACC)))
42 JAVACC := $(JAVAC_WRAPPER) $(JAVACC)
43 endif
44endif
45
Colin Crossa12d38a2017-03-22 20:41:14 -070046COMMON_JAVAC := $(JAVACC) -J-Xmx2048M $(common_jdk_flags)
The Android Open Source Project88b60792009-03-03 19:28:42 -080047
Ying Wang447d6962015-09-01 19:12:05 -070048GLOBAL_JAVAC_DEBUG_FLAGS := -g
49
The Android Open Source Project88b60792009-03-03 19:28:42 -080050HOST_JAVAC ?= $(COMMON_JAVAC)
51TARGET_JAVAC ?= $(COMMON_JAVAC)
Brian Carlstromb6dcef82014-01-09 15:33:06 -080052
The Android Open Source Project88b60792009-03-03 19:28:42 -080053#$(info HOST_JAVAC=$(HOST_JAVAC))
54#$(info TARGET_JAVAC=$(TARGET_JAVAC))