Merge changes from topic "bootclasspath_default_libs"

* changes:
  Remove duplication of bootclasspath in LOCAL_JAVA_LIBRARIES
  Add dependencies on bootclasspath libraries
  Reindent bootclasspath code
This commit is contained in:
Treehugger Robot
2017-09-26 01:12:30 +00:00
committed by Gerrit Code Review
5 changed files with 131 additions and 93 deletions

View File

@@ -2237,8 +2237,7 @@ endef
# Common definition to invoke javac on the host and target. # Common definition to invoke javac on the host and target.
# #
# $(1): javac # $(1): javac
# $(2): bootclasspath # $(2): classpath_libs
# $(3): classpath_libs
define compile-java define compile-java
$(hide) rm -f $@ $(hide) rm -f $@
$(hide) rm -rf $(PRIVATE_CLASS_INTERMEDIATES_DIR) $(PRIVATE_ANNO_INTERMEDIATES_DIR) $(hide) rm -rf $(PRIVATE_CLASS_INTERMEDIATES_DIR) $(PRIVATE_ANNO_INTERMEDIATES_DIR)
@@ -2247,9 +2246,11 @@ $(hide) mkdir -p $(PRIVATE_CLASS_INTERMEDIATES_DIR) $(PRIVATE_ANNO_INTERMEDIATES
$(hide) if [ -s $(PRIVATE_JAVA_SOURCE_LIST) ] ; then \ $(hide) if [ -s $(PRIVATE_JAVA_SOURCE_LIST) ] ; then \
$(SOONG_JAVAC_WRAPPER) $(1) -encoding UTF-8 \ $(SOONG_JAVAC_WRAPPER) $(1) -encoding UTF-8 \
$(if $(findstring true,$(PRIVATE_WARNINGS_ENABLE)),$(xlint_unchecked),) \ $(if $(findstring true,$(PRIVATE_WARNINGS_ENABLE)),$(xlint_unchecked),) \
$(2) \ $(addprefix -bootclasspath ,$(strip \
$(call normalize-path-list,$(PRIVATE_BOOTCLASSPATH)) \
$(PRIVATE_EMPTY_BOOTCLASSPATH))) \
$(addprefix -classpath ,$(strip \ $(addprefix -classpath ,$(strip \
$(call normalize-path-list,$(3)))) \ $(call normalize-path-list,$(2)))) \
$(if $(findstring true,$(PRIVATE_WARNINGS_ENABLE)),$(xlint_unchecked),) \ $(if $(findstring true,$(PRIVATE_WARNINGS_ENABLE)),$(xlint_unchecked),) \
-d $(PRIVATE_CLASS_INTERMEDIATES_DIR) -s $(PRIVATE_ANNO_INTERMEDIATES_DIR) \ -d $(PRIVATE_CLASS_INTERMEDIATES_DIR) -s $(PRIVATE_ANNO_INTERMEDIATES_DIR) \
$(PRIVATE_JAVACFLAGS) \ $(PRIVATE_JAVACFLAGS) \
@@ -2276,7 +2277,7 @@ endef
define transform-java-to-classes.jar define transform-java-to-classes.jar
@echo "$($(PRIVATE_PREFIX)DISPLAY) Java: $(PRIVATE_MODULE) ($(PRIVATE_CLASS_INTERMEDIATES_DIR))" @echo "$($(PRIVATE_PREFIX)DISPLAY) Java: $(PRIVATE_MODULE) ($(PRIVATE_CLASS_INTERMEDIATES_DIR))"
$(call compile-java,$(TARGET_JAVAC),$(PRIVATE_BOOTCLASSPATH),$(PRIVATE_ALL_JAVA_HEADER_LIBRARIES)) $(call compile-java,$(TARGET_JAVAC),$(PRIVATE_ALL_JAVA_HEADER_LIBRARIES))
endef endef
define transform-java-to-header.jar define transform-java-to-header.jar
@@ -2286,9 +2287,12 @@ define transform-java-to-header.jar
@mkdir $(dir $@)/classes-turbine @mkdir $(dir $@)/classes-turbine
$(hide) if [ -s $(PRIVATE_JAVA_SOURCE_LIST) ] ; then \ $(hide) if [ -s $(PRIVATE_JAVA_SOURCE_LIST) ] ; then \
$(JAVA) -jar $(TURBINE) \ $(JAVA) -jar $(TURBINE) \
--output $@.premerged --temp_dir $(dir $@)/classes-turbine -$(PRIVATE_BOOTCLASSPATH) \ --output $@.premerged --temp_dir $(dir $@)/classes-turbine \
--sources \@$(PRIVATE_JAVA_SOURCE_LIST) \ --sources \@$(PRIVATE_JAVA_SOURCE_LIST) \
--javacopts $(PRIVATE_JAVACFLAGS) $(COMMON_JDK_FLAGS) \ --javacopts $(PRIVATE_JAVACFLAGS) $(COMMON_JDK_FLAGS) \
$(addprefix --bootclasspath ,$(strip \
$(call normalize-path-list,$(PRIVATE_BOOTCLASSPATH)) \
$(PRIVATE_EMPTY_BOOTCLASSPATH))) \
$(addprefix --classpath ,$(strip \ $(addprefix --classpath ,$(strip \
$(call normalize-path-list,$(PRIVATE_ALL_JAVA_HEADER_LIBRARIES)))) \ $(call normalize-path-list,$(PRIVATE_ALL_JAVA_HEADER_LIBRARIES)))) \
|| ( rm -rf $(dir $@)/classes-turbine ; exit 41 ) && \ || ( rm -rf $(dir $@)/classes-turbine ; exit 41 ) && \
@@ -2489,10 +2493,6 @@ $(if $(PRIVATE_JAR_EXCLUDE_PACKAGES), $(hide) echo unsupported options JAR_EXCLU
$(if $(PRIVATE_JAR_MANIFEST), $(hide) echo unsupported options JAR_MANIFEST in $@; exit 53) $(if $(PRIVATE_JAR_MANIFEST), $(hide) echo unsupported options JAR_MANIFEST in $@; exit 53)
endef endef
define desugar-bootclasspath
$(filter-out -classpath -bootclasspath "",$(subst :,$(space),$(1)))
endef
# Takes an sdk version that might be PLATFORM_VERSION_CODENAME (for example P), # Takes an sdk version that might be PLATFORM_VERSION_CODENAME (for example P),
# returns a number greater than the highest existing sdk version if it is, or # returns a number greater than the highest existing sdk version if it is, or
# the input if it is not. # the input if it is not.
@@ -2512,7 +2512,7 @@ $(hide) $(JAVA) \
$(if $(EXPERIMENTAL_USE_OPENJDK9),--add-opens java.base/java.lang.invoke=ALL-UNNAMED,) \ $(if $(EXPERIMENTAL_USE_OPENJDK9),--add-opens java.base/java.lang.invoke=ALL-UNNAMED,) \
-Djdk.internal.lambda.dumpProxyClasses=$(abspath $(dir $@))/desugar_dumped_classes \ -Djdk.internal.lambda.dumpProxyClasses=$(abspath $(dir $@))/desugar_dumped_classes \
-jar $(DESUGAR) \ -jar $(DESUGAR) \
$(addprefix --bootclasspath_entry ,$(call desugar-bootclasspath,$(PRIVATE_BOOTCLASSPATH))) \ $(addprefix --bootclasspath_entry ,$(PRIVATE_BOOTCLASSPATH)) \
$(addprefix --classpath_entry ,$(PRIVATE_ALL_JAVA_HEADER_LIBRARIES)) \ $(addprefix --classpath_entry ,$(PRIVATE_ALL_JAVA_HEADER_LIBRARIES)) \
--min_sdk_version $(call codename-or-sdk-to-sdk,$(PRIVATE_DEFAULT_APP_TARGET_SDK)) \ --min_sdk_version $(call codename-or-sdk-to-sdk,$(PRIVATE_DEFAULT_APP_TARGET_SDK)) \
--desugar_try_with_resources_if_needed=false \ --desugar_try_with_resources_if_needed=false \
@@ -2741,14 +2741,14 @@ endef
# in transform-java-to-classes for the sake of vm-tests. # in transform-java-to-classes for the sake of vm-tests.
define transform-host-java-to-package define transform-host-java-to-package
@echo "Host Java: $(PRIVATE_MODULE) ($(PRIVATE_CLASS_INTERMEDIATES_DIR))" @echo "Host Java: $(PRIVATE_MODULE) ($(PRIVATE_CLASS_INTERMEDIATES_DIR))"
$(call compile-java,$(HOST_JAVAC),$(PRIVATE_BOOTCLASSPATH),$(PRIVATE_ALL_JAVA_LIBRARIES)) $(call compile-java,$(HOST_JAVAC),$(PRIVATE_ALL_JAVA_LIBRARIES))
endef endef
# Note: we intentionally don't clean PRIVATE_CLASS_INTERMEDIATES_DIR # Note: we intentionally don't clean PRIVATE_CLASS_INTERMEDIATES_DIR
# in transform-java-to-classes for the sake of vm-tests. # in transform-java-to-classes for the sake of vm-tests.
define transform-host-java-to-dalvik-package define transform-host-java-to-dalvik-package
@echo "Dalvik Java: $(PRIVATE_MODULE) ($(PRIVATE_CLASS_INTERMEDIATES_DIR))" @echo "Dalvik Java: $(PRIVATE_MODULE) ($(PRIVATE_CLASS_INTERMEDIATES_DIR))"
$(call compile-java,$(HOST_JAVAC),$(PRIVATE_BOOTCLASSPATH),$(PRIVATE_ALL_JAVA_HEADER_LIBRARIES)) $(call compile-java,$(HOST_JAVAC),$(PRIVATE_ALL_JAVA_HEADER_LIBRARIES))
endef endef
########################################################### ###########################################################
@@ -2894,7 +2894,8 @@ endef
define transform-jar-to-proguard define transform-jar-to-proguard
@echo Proguard: $@ @echo Proguard: $@
$(hide) $(PROGUARD) -injars '$<$(PRIVATE_PROGUARD_INJAR_FILTERS)' \ $(hide) $(PROGUARD) -injars '$<$(PRIVATE_PROGUARD_INJAR_FILTERS)' \
-outjars $@ $(PRIVATE_PROGUARD_FLAGS) \ -outjars $@ \
$(PRIVATE_PROGUARD_FLAGS) \
$(addprefix -injars , $(PRIVATE_EXTRA_INPUT_JAR)) $(addprefix -injars , $(PRIVATE_EXTRA_INPUT_JAR))
endef endef

View File

@@ -112,6 +112,7 @@ $(full_classes_compiled_jar): \
$(java_source_list_file) \ $(java_source_list_file) \
$(java_sources_deps) \ $(java_sources_deps) \
$(full_java_header_libs) \ $(full_java_header_libs) \
$(full_java_bootclasspath_libs) \
$(annotation_processor_deps) \ $(annotation_processor_deps) \
$(NORMALIZE_PATH) \ $(NORMALIZE_PATH) \
$(JAR_ARGS) \ $(JAR_ARGS) \
@@ -124,6 +125,7 @@ $(full_classes_turbine_jar): \
$(java_source_list_file) \ $(java_source_list_file) \
$(java_sources_deps) \ $(java_sources_deps) \
$(full_java_header_libs) \ $(full_java_header_libs) \
$(full_java_bootclasspath_libs) \
$(NORMALIZE_PATH) \ $(NORMALIZE_PATH) \
$(JAR_ARGS) \ $(JAR_ARGS) \
$(ZIPTIME) \ $(ZIPTIME) \

View File

@@ -82,6 +82,7 @@ $(full_classes_compiled_jar): \
$(java_source_list_file) \ $(java_source_list_file) \
$(java_sources_deps) \ $(java_sources_deps) \
$(full_java_libs) \ $(full_java_libs) \
$(full_java_bootclasspath_libs) \
$(annotation_processor_deps) \ $(annotation_processor_deps) \
$(NORMALIZE_PATH) \ $(NORMALIZE_PATH) \
$(ZIPTIME) \ $(ZIPTIME) \

View File

@@ -31,45 +31,52 @@ ifneq ($(LOCAL_MODULE),jacocoagent)
endif # !LOCAL_NO_STANDARD_LIBRARIES endif # !LOCAL_NO_STANDARD_LIBRARIES
endif # LOCAL_MODULE == jacocoagent endif # LOCAL_MODULE == jacocoagent
ifneq ($(LOCAL_SDK_VERSION),) # This duplicates the bootclasspath logic in java_common.mk because jack doesn't use
ifeq ($(LOCAL_NO_STANDARD_LIBRARIES),true) # bootclasspath.
$(error $(LOCAL_PATH): Must not define both LOCAL_NO_STANDARD_LIBRARIES and LOCAL_SDK_VERSION) ifdef LOCAL_JACK_ENABLED
else ifneq ($(LOCAL_SDK_VERSION),)
ifeq ($(strip $(filter $(LOCAL_SDK_VERSION),$(TARGET_AVAILABLE_SDK_VERSIONS))),) ifeq ($(LOCAL_NO_STANDARD_LIBRARIES),true)
$(error $(LOCAL_PATH): Invalid LOCAL_SDK_VERSION '$(LOCAL_SDK_VERSION)' \ $(error $(LOCAL_PATH): Must not define both LOCAL_NO_STANDARD_LIBRARIES and LOCAL_SDK_VERSION)
Choices are: $(TARGET_AVAILABLE_SDK_VERSIONS))
else else
ifeq ($(LOCAL_SDK_VERSION)$(TARGET_BUILD_APPS),current) ifeq ($(strip $(filter $(LOCAL_SDK_VERSION),$(TARGET_AVAILABLE_SDK_VERSIONS))),)
# Use android_stubs_current if LOCAL_SDK_VERSION is current and no TARGET_BUILD_APPS. $(error $(LOCAL_PATH): Invalid LOCAL_SDK_VERSION '$(LOCAL_SDK_VERSION)' \
LOCAL_JAVA_LIBRARIES := android_stubs_current $(LOCAL_JAVA_LIBRARIES) Choices are: $(TARGET_AVAILABLE_SDK_VERSIONS))
else ifeq ($(LOCAL_SDK_VERSION)$(TARGET_BUILD_APPS),system_current)
LOCAL_JAVA_LIBRARIES := android_system_stubs_current $(LOCAL_JAVA_LIBRARIES)
else ifeq ($(LOCAL_SDK_VERSION)$(TARGET_BUILD_APPS),test_current)
LOCAL_JAVA_LIBRARIES := android_test_stubs_current $(LOCAL_JAVA_LIBRARIES)
else else
LOCAL_JAVA_LIBRARIES := sdk_v$(LOCAL_SDK_VERSION) $(LOCAL_JAVA_LIBRARIES) ifeq ($(LOCAL_SDK_VERSION)$(TARGET_BUILD_APPS),current)
endif # Use android_stubs_current if LOCAL_SDK_VERSION is current and no TARGET_BUILD_APPS.
LOCAL_JAVA_LIBRARIES := android_stubs_current $(LOCAL_JAVA_LIBRARIES)
else ifeq ($(LOCAL_SDK_VERSION)$(TARGET_BUILD_APPS),system_current)
LOCAL_JAVA_LIBRARIES := android_system_stubs_current $(LOCAL_JAVA_LIBRARIES)
else ifeq ($(LOCAL_SDK_VERSION)$(TARGET_BUILD_APPS),test_current)
LOCAL_JAVA_LIBRARIES := android_test_stubs_current $(LOCAL_JAVA_LIBRARIES)
else
LOCAL_JAVA_LIBRARIES := sdk_v$(LOCAL_SDK_VERSION) $(LOCAL_JAVA_LIBRARIES)
endif
ifeq ($(LOCAL_SDK_VERSION),current) ifeq ($(LOCAL_SDK_VERSION),current)
my_jack_min_sdk_version := $(PLATFORM_JACK_MIN_SDK_VERSION) my_jack_min_sdk_version := $(PLATFORM_JACK_MIN_SDK_VERSION)
else ifeq ($(LOCAL_SDK_VERSION),system_current) else ifeq ($(LOCAL_SDK_VERSION),system_current)
my_jack_min_sdk_version := $(PLATFORM_JACK_MIN_SDK_VERSION) my_jack_min_sdk_version := $(PLATFORM_JACK_MIN_SDK_VERSION)
else ifeq ($(LOCAL_SDK_VERSION),test_current) else ifeq ($(LOCAL_SDK_VERSION),test_current)
my_jack_min_sdk_version := $(PLATFORM_JACK_MIN_SDK_VERSION) my_jack_min_sdk_version := $(PLATFORM_JACK_MIN_SDK_VERSION)
else else
my_jack_min_sdk_version := $(LOCAL_SDK_VERSION) my_jack_min_sdk_version := $(LOCAL_SDK_VERSION)
endif
endif endif
endif endif
else
my_jack_min_sdk_version := $(PLATFORM_JACK_MIN_SDK_VERSION)
endif endif
else
my_jack_min_sdk_version := $(PLATFORM_JACK_MIN_SDK_VERSION) ifneq (,$(strip $(LOCAL_MIN_SDK_VERSION)))
ifneq ($(LOCAL_NO_STANDARD_LIBRARIES),true) my_jack_min_sdk_version := $(LOCAL_MIN_SDK_VERSION)
LOCAL_JAVA_LIBRARIES := $(TARGET_DEFAULT_JAVA_LIBRARIES) $(LOCAL_JAVA_LIBRARIES)
endif endif
endif endif
ifneq (,$(strip $(LOCAL_MIN_SDK_VERSION))) ifndef LOCAL_SDK_VERSION
my_jack_min_sdk_version := $(LOCAL_MIN_SDK_VERSION) ifneq ($(LOCAL_NO_STANDARD_LIBRARIES),true)
LOCAL_JAVA_LIBRARIES := $(TARGET_DEFAULT_JAVA_LIBRARIES) $(LOCAL_JAVA_LIBRARIES)
endif
endif endif
proto_sources := $(filter %.proto,$(LOCAL_SRC_FILES)) proto_sources := $(filter %.proto,$(LOCAL_SRC_FILES))
@@ -484,6 +491,7 @@ $(full_classes_compiled_jar): \
$(java_source_list_file) \ $(java_source_list_file) \
$(java_sources_deps) \ $(java_sources_deps) \
$(full_java_header_libs) \ $(full_java_header_libs) \
$(full_java_bootclasspath_libs) \
$(layers_file) \ $(layers_file) \
$(annotation_processor_deps) \ $(annotation_processor_deps) \
$(NORMALIZE_PATH) \ $(NORMALIZE_PATH) \
@@ -497,6 +505,7 @@ $(full_classes_turbine_jar): \
$(java_source_list_file) \ $(java_source_list_file) \
$(java_sources_deps) \ $(java_sources_deps) \
$(full_java_header_libs) \ $(full_java_header_libs) \
$(full_java_bootclasspath_libs) \
$(NORMALIZE_PATH) \ $(NORMALIZE_PATH) \
$(JAR_ARGS) \ $(JAR_ARGS) \
$(ZIPTIME) \ $(ZIPTIME) \
@@ -618,14 +627,16 @@ endif
else else
# For platform build, we can't just raise to the "current" SDK, # For platform build, we can't just raise to the "current" SDK,
# that would break apps that use APIs removed from the current SDK. # that would break apps that use APIs removed from the current SDK.
my_support_library_sdk_raise := $(call java-lib-header-files,$(TARGET_DEFAULT_JAVA_LIBRARIES)) my_support_library_sdk_raise := $(call java-lib-header-files,$(TARGET_DEFAULT_BOOTCLASSPATH_LIBRARIES) $(TARGET_DEFAULT_JAVA_LIBRARIES))
endif endif
endif endif
endif endif
# jack already has the libraries in its classpath and doesn't support jars # jack already has the libraries in its classpath and doesn't support jars
legacy_proguard_flags := $(addprefix -libraryjars ,$(my_support_library_sdk_raise) \ legacy_proguard_flags := $(addprefix -libraryjars ,$(my_support_library_sdk_raise) \
$(filter-out $(my_support_library_sdk_raise),$(full_shared_java_header_libs))) $(filter-out $(my_support_library_sdk_raise), \
$(full_java_bootclasspath_libs) \
$(full_shared_java_header_libs)))
legacy_proguard_lib_deps := $(my_support_library_sdk_raise) \ legacy_proguard_lib_deps := $(my_support_library_sdk_raise) \
$(filter-out $(my_support_library_sdk_raise),$(full_shared_java_header_libs)) $(filter-out $(my_support_library_sdk_raise),$(full_shared_java_header_libs))

View File

@@ -201,65 +201,81 @@ $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_JAVA_SOURCE_LIST := $(java_source_list_fi
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_RMTYPEDEFS := $(LOCAL_RMTYPEDEFS) $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_RMTYPEDEFS := $(LOCAL_RMTYPEDEFS)
full_java_bootclasspath_libs :=
empty_bootclasspath :=
# full_java_libs: The list of files that should be used as the classpath. # full_java_libs: The list of files that should be used as the classpath.
# Using this list as a dependency list WILL NOT WORK. # Using this list as a dependency list WILL NOT WORK.
ifndef LOCAL_IS_HOST_MODULE ifndef LOCAL_IS_HOST_MODULE
ifeq ($(LOCAL_SDK_VERSION),) ifeq ($(LOCAL_SDK_VERSION),)
ifeq ($(LOCAL_NO_STANDARD_LIBRARIES),true) ifeq ($(LOCAL_NO_STANDARD_LIBRARIES),true)
# No bootclasspath. But we still need "" to prevent javac from using default host bootclasspath. # No bootclasspath. But we still need "" to prevent javac from using default host bootclasspath.
my_bootclasspath := "" empty_bootclasspath := ""
else # LOCAL_NO_STANDARD_LIBRARIES else # LOCAL_NO_STANDARD_LIBRARIES
my_bootclasspath := $(call java-lib-header-files,core-oj):$(call java-lib-header-files,core-libart) full_java_bootclasspath_libs := $(call java-lib-header-files,$(TARGET_DEFAULT_BOOTCLASSPATH_LIBRARIES))
endif # LOCAL_NO_STANDARD_LIBRARIES endif # LOCAL_NO_STANDARD_LIBRARIES
else else
ifeq ($(LOCAL_SDK_VERSION)$(TARGET_BUILD_APPS),current) ifeq ($(LOCAL_NO_STANDARD_LIBRARIES),true)
# LOCAL_SDK_VERSION is current and no TARGET_BUILD_APPS. $(call pretty-error,Must not define both LOCAL_NO_STANDARD_LIBRARIES and LOCAL_SDK_VERSION)
my_bootclasspath := $(call java-lib-header-files,android_stubs_current) endif
else ifeq ($(LOCAL_SDK_VERSION)$(TARGET_BUILD_APPS),system_current) ifeq ($(strip $(filter $(LOCAL_SDK_VERSION),$(TARGET_AVAILABLE_SDK_VERSIONS))),)
my_bootclasspath := $(call java-lib-header-files,android_system_stubs_current) $(call pretty-error,Invalid LOCAL_SDK_VERSION '$(LOCAL_SDK_VERSION)' \
else ifeq ($(LOCAL_SDK_VERSION)$(TARGET_BUILD_APPS),test_current) Choices are: $(TARGET_AVAILABLE_SDK_VERSIONS))
my_bootclasspath := $(call java-lib-header-files,android_test_stubs_current) endif
else ifeq ($(LOCAL_SDK_VERSION)$(TARGET_BUILD_APPS),current)
my_bootclasspath := $(call java-lib-header-files,sdk_v$(LOCAL_SDK_VERSION)) # LOCAL_SDK_VERSION is current and no TARGET_BUILD_APPS.
endif # current, system_current, or test_current full_java_bootclasspath_libs := $(call java-lib-header-files,android_stubs_current)
endif # LOCAL_SDK_VERSION else ifeq ($(LOCAL_SDK_VERSION)$(TARGET_BUILD_APPS),system_current)
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_BOOTCLASSPATH := -bootclasspath $(my_bootclasspath) full_java_bootclasspath_libs := $(call java-lib-header-files,android_system_stubs_current)
else ifeq ($(LOCAL_SDK_VERSION)$(TARGET_BUILD_APPS),test_current)
full_java_bootclasspath_libs := $(call java-lib-header-files,android_test_stubs_current)
else
full_java_bootclasspath_libs := $(call java-lib-header-files,sdk_v$(LOCAL_SDK_VERSION))
endif # current, system_current, or test_current
endif # LOCAL_SDK_VERSION
# In order to compile lambda code javac requires various invokedynamic- # In order to compile lambda code javac requires various invokedynamic-
# related classes to be present. This change adds stubs needed for # related classes to be present. This change adds stubs needed for
# javac to compile lambdas. # javac to compile lambdas.
my_additional_javac_libs := my_additional_javac_libs :=
ifndef TARGET_BUILD_APPS ifndef TARGET_BUILD_APPS
# TODO: support to build lamdbas using javac in unbundled build. # TODO: support to build lamdbas using javac in unbundled build.
# We may need to check in a prebuilt core-lambda-stubs to prebuilts/sdk. # We may need to check in a prebuilt core-lambda-stubs to prebuilts/sdk.
ifneq ($(LOCAL_NO_STANDARD_LIBRARIES),true) ifneq ($(LOCAL_NO_STANDARD_LIBRARIES),true)
my_additional_javac_libs := core-lambda-stubs my_additional_javac_libs := core-lambda-stubs
endif endif
endif endif
full_shared_java_libs := $(call java-lib-files,$(LOCAL_JAVA_LIBRARIES) $(my_additional_javac_libs),$(LOCAL_IS_HOST_MODULE)) full_shared_java_libs := $(call java-lib-files,$(LOCAL_JAVA_LIBRARIES) $(my_additional_javac_libs),$(LOCAL_IS_HOST_MODULE))
full_shared_java_header_libs := $(call java-lib-header-files,$(LOCAL_JAVA_LIBRARIES) $(my_additional_javac_libs),$(LOCAL_IS_HOST_MODULE)) full_shared_java_header_libs := $(call java-lib-header-files,$(LOCAL_JAVA_LIBRARIES) $(my_additional_javac_libs),$(LOCAL_IS_HOST_MODULE))
else # LOCAL_IS_HOST_MODULE else # LOCAL_IS_HOST_MODULE
ifeq ($(USE_CORE_LIB_BOOTCLASSPATH),true) ifeq ($(USE_CORE_LIB_BOOTCLASSPATH),true)
ifeq ($(LOCAL_NO_STANDARD_LIBRARIES),true) ifeq ($(LOCAL_NO_STANDARD_LIBRARIES),true)
my_bootclasspath := "" empty_bootclasspath := ""
else else
my_bootclasspath := $(call normalize-path-list,$(call java-lib-header-files,core-oj-hostdex core-libart-hostdex,true)) full_java_bootclasspath_libs := $(call java-lib-header-files,$(addsuffix -hostdex,$(TARGET_DEFAULT_BOOTCLASSPATH_LIBRARIES)),true)
endif endif
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_BOOTCLASSPATH := -bootclasspath $(my_bootclasspath)
full_shared_java_libs := $(call java-lib-files,$(LOCAL_JAVA_LIBRARIES),true) full_shared_java_libs := $(call java-lib-files,$(LOCAL_JAVA_LIBRARIES),true)
full_shared_java_header_libs := $(call java-lib-header-files,$(LOCAL_JAVA_LIBRARIES),true) full_shared_java_header_libs := $(call java-lib-header-files,$(LOCAL_JAVA_LIBRARIES),true)
else # !USE_CORE_LIB_BOOTCLASSPATH else # !USE_CORE_LIB_BOOTCLASSPATH
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_BOOTCLASSPATH :=
full_shared_java_libs := $(addprefix $(HOST_OUT_JAVA_LIBRARIES)/,\ full_shared_java_libs := $(addprefix $(HOST_OUT_JAVA_LIBRARIES)/,\
$(addsuffix $(COMMON_JAVA_PACKAGE_SUFFIX),$(LOCAL_JAVA_LIBRARIES))) $(addsuffix $(COMMON_JAVA_PACKAGE_SUFFIX),$(LOCAL_JAVA_LIBRARIES)))
endif # USE_CORE_LIB_BOOTCLASSPATH endif # USE_CORE_LIB_BOOTCLASSPATH
endif # !LOCAL_IS_HOST_MODULE endif # !LOCAL_IS_HOST_MODULE
ifdef empty_bootclasspath
ifdef full_java_bootclasspath_libs
$(call pretty-error,internal error: empty_bootclasspath and full_java_bootclasspath_libs should not both be set)
endif
endif
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_BOOTCLASSPATH := $(full_java_bootclasspath_libs)
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_EMPTY_BOOTCLASSPATH := $(empty_bootclasspath)
full_java_libs := $(full_shared_java_libs) $(full_static_java_libs) $(LOCAL_CLASSPATH) full_java_libs := $(full_shared_java_libs) $(full_static_java_libs) $(LOCAL_CLASSPATH)
full_java_header_libs := $(full_shared_java_header_libs) $(full_static_java_header_libs) full_java_header_libs := $(full_shared_java_header_libs) $(full_static_java_header_libs)
@@ -368,6 +384,13 @@ full_static_jack_libs := \
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_STATIC_JACK_LIBRARIES := $(full_static_jack_libs) $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_STATIC_JACK_LIBRARIES := $(full_static_jack_libs)
full_shared_jack_libs := $(call jack-lib-files,$(LOCAL_JAVA_LIBRARIES),$(LOCAL_IS_HOST_MODULE)) full_shared_jack_libs := $(call jack-lib-files,$(LOCAL_JAVA_LIBRARIES),$(LOCAL_IS_HOST_MODULE))
ifneq ($(LOCAL_NO_STANDARD_LIBRARIES),true)
my_jack_bootclasspath := $(TARGET_DEFAULT_BOOTCLASSPATH_LIBRARIES)
ifdef LOCAL_IS_HOST_MODULE
my_jack_bootclasspath := $(addsuffix -hostdex,$(my_jack_bootclasspath))
endif
full_shared_jack_libs := $(call jack-lib-files,$(my_jack_bootclasspath),$(LOCAL_IS_HOST_MODULE)) $(full_shared_jack_libs)
endif
full_jack_deps := $(full_shared_jack_libs) full_jack_deps := $(full_shared_jack_libs)
ifndef LOCAL_IS_HOST_MODULE ifndef LOCAL_IS_HOST_MODULE