Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e37a3c95 authored by Colin Cross's avatar Colin Cross
Browse files

Use dx.jar directly

Use $(JAVA) to invoke dx.jar instead of the dx wrapper script.
Also allow the dx command line or the dx jar to be specified on
the command line.  Allows better dependencies on dx.jar, and
doesn't rely on having java on the path.

Bug: 62956999
Test: m -j checkbuild
Change-Id: I5f265132690ad28b3139954fea44eb0c4a43393a
parent cd20d598
Loading
Loading
Loading
Loading
+17 −10
Original line number Diff line number Diff line
@@ -499,6 +499,11 @@ prebuilt_sdk_tools_bin := $(prebuilt_sdk_tools)/$(HOST_OS)/bin

USE_PREBUILT_SDK_TOOLS_IN_PLACE := true

# TODO(ccross): remove this once the build server no longer references it
ifdef DX_ALT_JAR
DX_JAR := DX_ALT_JAR
endif

#
# Tools that are prebuilts for TARGET_BUILD_APPS
#
@@ -506,24 +511,16 @@ ifeq (,$(TARGET_BUILD_APPS)$(filter true,$(TARGET_BUILD_PDK)))
  AIDL := $(HOST_OUT_EXECUTABLES)/aidl
  AAPT := $(HOST_OUT_EXECUTABLES)/aapt
  AAPT2 := $(HOST_OUT_EXECUTABLES)/aapt2
  DX_JAR ?= $(HOST_OUT_JAVA_LIBRARIES)/dx.jar
  MAINDEXCLASSES := $(HOST_OUT_EXECUTABLES)/mainDexClasses
  SIGNAPK_JAR := $(HOST_OUT_JAVA_LIBRARIES)/signapk$(COMMON_JAVA_PACKAGE_SUFFIX)
  SIGNAPK_JNI_LIBRARY_PATH := $(HOST_OUT_SHARED_LIBRARIES)
  ZIPALIGN := $(HOST_OUT_EXECUTABLES)/zipalign

  ifndef DX_ALT_JAR
    DX := $(HOST_OUT_EXECUTABLES)/dx
    DX_COMMAND := $(DX) -JXms16M -JXmx2048M
  else
    DX := $(DX_ALT_JAR)
    DX_COMMAND := $(JAVA) -Xms16M -Xmx2048M -jar $(DX)
  endif
else # TARGET_BUILD_APPS || TARGET_BUILD_PDK
  AIDL := $(prebuilt_sdk_tools_bin)/aidl
  AAPT := $(prebuilt_sdk_tools_bin)/aapt
  AAPT2 := $(prebuilt_sdk_tools_bin)/aapt2
  DX := $(prebuilt_sdk_tools)/dx
  DX_COMMAND := $(DX) -JXms16M -JXmx2048M
  DX_JAR ?= $(prebuilt_sdk_tools)/lib/dx.jar
  MAINDEXCLASSES := $(prebuilt_sdk_tools)/mainDexClasses
  ZIPALIGN := $(prebuilt_sdk_tools_bin)/zipalign
  SIGNAPK_JAR := $(prebuilt_sdk_tools)/lib/signapk$(COMMON_JAVA_PACKAGE_SUFFIX)
@@ -561,6 +558,16 @@ SOONG_ZIP := $(SOONG_HOST_OUT_EXECUTABLES)/soong_zip
ZIP2ZIP := $(SOONG_HOST_OUT_EXECUTABLES)/zip2zip
ZIPTIME := $(prebuilt_build_tools_bin)/ziptime

# DX can be overriden on the command line
ifndef DX
#TODO: use a smaller -Xmx value for most libraries;
#      only core.jar and framework.jar need a heap this big.
DX := $(JAVA) -Xms16M -Xmx2048M -jar $(DX_JAR)
DX_DEPS := $(DX_JAR)
else
DX_DEPS ?= $(DX)
endif

# ---------------------------------------------------------------
# Generic tools.
JACK := $(HOST_OUT_EXECUTABLES)/jack
+1 −1
Original line number Diff line number Diff line
@@ -2557,7 +2557,7 @@ define transform-classes.jar-to-dex
@echo "target Dex: $(PRIVATE_MODULE)"
@mkdir -p $(dir $@)
$(hide) rm -f $(dir $@)classes*.dex
$(hide) $(DX_COMMAND) \
$(hide) $(DX) \
    --dex --output=$(dir $@) \
    --min-sdk-version=$(call codename-or-sdk-to-sdk,$(PRIVATE_DEFAULT_APP_TARGET_SDK)) \
    $(if $(NO_OPTIMIZE_DX), \
+1 −1
Original line number Diff line number Diff line
@@ -136,7 +136,7 @@ $(LOCAL_BUILT_MODULE) : $(full_classes_jar)
else # !LOCAL_IS_STATIC_JAVA_LIBRARY
$(built_dex): PRIVATE_INTERMEDIATES_DIR := $(intermediates.COMMON)
$(built_dex): PRIVATE_DX_FLAGS := $(LOCAL_DX_FLAGS)
$(built_dex): $(full_classes_jar) $(DX)
$(built_dex): $(full_classes_jar) $(DX_DEPS)
	$(transform-classes.jar-to-dex)

$(LOCAL_BUILT_MODULE): PRIVATE_DEX_FILE := $(built_dex)
+1 −1
Original line number Diff line number Diff line
@@ -673,7 +673,7 @@ $(built_dex_intermediate): PRIVATE_DX_FLAGS := $(LOCAL_DX_FLAGS)
ifeq ($(LOCAL_EMMA_INSTRUMENT),true)
$(built_dex_intermediate): PRIVATE_DX_FLAGS += --no-locals
endif
$(built_dex_intermediate): $(full_classes_jar) $(DX)
$(built_dex_intermediate): $(full_classes_jar) $(DX_DEPS)
	$(transform-classes.jar-to-dex)
endif # LOCAL_JACK_ENABLED is disabled