The Android Open Source Project | 88b6079 | 2009-03-03 19:28:42 -0800 | [diff] [blame] | 1 | # Selects a Java compiler. |
| 2 | # |
| 3 | # Inputs: |
Primiano Tucci | 994c84f | 2014-06-02 17:37:38 +0100 | [diff] [blame] | 4 | # CUSTOM_JAVA_COMPILER -- "eclipse", "openjdk". or nothing for the system |
The Android Open Source Project | 88b6079 | 2009-03-03 19:28:42 -0800 | [diff] [blame] | 5 | # default |
Brian Carlstrom | b6dcef8 | 2014-01-09 15:33:06 -0800 | [diff] [blame] | 6 | # ALTERNATE_JAVAC -- the alternate java compiler to use |
The Android Open Source Project | 88b6079 | 2009-03-03 19:28:42 -0800 | [diff] [blame] | 7 | # |
| 8 | # Outputs: |
| 9 | # COMMON_JAVAC -- Java compiler command with common arguments |
Ying Wang | ad69099 | 2013-09-20 17:11:43 -0700 | [diff] [blame] | 10 | # |
| 11 | |
Colin Cross | 79e2f73 | 2016-12-21 14:29:13 -0800 | [diff] [blame] | 12 | ifndef ANDROID_COMPILE_WITH_JACK |
Colin Cross | 75b5042 | 2017-07-27 12:34:34 -0700 | [diff] [blame] | 13 | # TODO(b/64113890, b/35788202): remove PRODUCT_COMPILE_WITH_JACK |
| 14 | ifdef PRODUCT_COMPILE_WITH_JACK |
| 15 | ANDROID_COMPILE_WITH_JACK := $(PRODUCT_COMPILE_WITH_JACK) |
| 16 | else |
| 17 | # TODO(b/62038127): remove TARGET_BUILD_APPS check |
| 18 | ifdef TARGET_BUILD_APPS |
| 19 | ANDROID_COMPILE_WITH_JACK := true |
| 20 | else |
| 21 | ANDROID_COMPILE_WITH_JACK := false |
| 22 | endif |
| 23 | endif |
Colin Cross | 79e2f73 | 2016-12-21 14:29:13 -0800 | [diff] [blame] | 24 | endif |
| 25 | |
Neil Fuller | 2428bfe | 2016-01-15 19:41:26 -0800 | [diff] [blame] | 26 | common_jdk_flags := -Xmaxerrs 9999999 |
Ying Wang | ad69099 | 2013-09-20 17:11:43 -0700 | [diff] [blame] | 27 | |
Tobias Thierer | 1b53ea0 | 2017-07-26 13:59:39 +0100 | [diff] [blame] | 28 | ifeq ($(OVERRIDE_ANDROID_JAVA_HOME),) |
Colin Cross | e97e693 | 2017-06-30 16:01:45 -0700 | [diff] [blame] | 29 | ANDROID_JAVA_HOME := prebuilts/jdk/jdk8/$(HOST_PREBUILT_TAG) |
Tobias Thierer | 1b53ea0 | 2017-07-26 13:59:39 +0100 | [diff] [blame] | 30 | else |
| 31 | # Use this build toolchain instead of the bundled one. |
| 32 | ANDROID_JAVA_HOME := $(OVERRIDE_ANDROID_JAVA_HOME) |
| 33 | endif |
Colin Cross | e97e693 | 2017-06-30 16:01:45 -0700 | [diff] [blame] | 34 | ANDROID_JAVA_TOOLCHAIN := $(ANDROID_JAVA_HOME)/bin |
Colin Cross | 3a1544a | 2017-07-24 19:25:17 -0700 | [diff] [blame] | 35 | export JAVA_HOME := $(abspath $(ANDROID_JAVA_HOME)) |
Colin Cross | e97e693 | 2017-06-30 16:01:45 -0700 | [diff] [blame] | 36 | |
Brian Carlstrom | b6dcef8 | 2014-01-09 15:33:06 -0800 | [diff] [blame] | 37 | # Use the indexer wrapper to index the codebase instead of the javac compiler |
| 38 | ifeq ($(ALTERNATE_JAVAC),) |
Colin Cross | e97e693 | 2017-06-30 16:01:45 -0700 | [diff] [blame] | 39 | JAVACC := $(ANDROID_JAVA_TOOLCHAIN)/javac |
Brian Carlstrom | b6dcef8 | 2014-01-09 15:33:06 -0800 | [diff] [blame] | 40 | else |
| 41 | JAVACC := $(ALTERNATE_JAVAC) |
| 42 | endif |
The Android Open Source Project | 88b6079 | 2009-03-03 19:28:42 -0800 | [diff] [blame] | 43 | |
Colin Cross | e97e693 | 2017-06-30 16:01:45 -0700 | [diff] [blame] | 44 | JAVA := $(ANDROID_JAVA_TOOLCHAIN)/java |
| 45 | JAVADOC := $(ANDROID_JAVA_TOOLCHAIN)/javadoc |
| 46 | JAR := $(ANDROID_JAVA_TOOLCHAIN)/jar |
Colin Cross | 0851df8 | 2017-06-30 13:55:38 -0700 | [diff] [blame] | 47 | |
Primiano Tucci | 994c84f | 2014-06-02 17:37:38 +0100 | [diff] [blame] | 48 | # The actual compiler can be wrapped by setting the JAVAC_WRAPPER var. |
| 49 | ifdef JAVAC_WRAPPER |
| 50 | ifneq ($(JAVAC_WRAPPER),$(firstword $(JAVACC))) |
| 51 | JAVACC := $(JAVAC_WRAPPER) $(JAVACC) |
| 52 | endif |
| 53 | endif |
| 54 | |
Colin Cross | a12d38a | 2017-03-22 20:41:14 -0700 | [diff] [blame] | 55 | COMMON_JAVAC := $(JAVACC) -J-Xmx2048M $(common_jdk_flags) |
The Android Open Source Project | 88b6079 | 2009-03-03 19:28:42 -0800 | [diff] [blame] | 56 | |
Ying Wang | 447d696 | 2015-09-01 19:12:05 -0700 | [diff] [blame] | 57 | GLOBAL_JAVAC_DEBUG_FLAGS := -g |
| 58 | |
The Android Open Source Project | 88b6079 | 2009-03-03 19:28:42 -0800 | [diff] [blame] | 59 | HOST_JAVAC ?= $(COMMON_JAVAC) |
| 60 | TARGET_JAVAC ?= $(COMMON_JAVAC) |
Brian Carlstrom | b6dcef8 | 2014-01-09 15:33:06 -0800 | [diff] [blame] | 61 | |
The Android Open Source Project | 88b6079 | 2009-03-03 19:28:42 -0800 | [diff] [blame] | 62 | #$(info HOST_JAVAC=$(HOST_JAVAC)) |
| 63 | #$(info TARGET_JAVAC=$(TARGET_JAVAC)) |