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

Commit 2f31293b authored by The Android Open Source Project's avatar The Android Open Source Project
Browse files

auto import from //branches/cupcake/...@137197

parent e53d32b6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -82,7 +82,7 @@ ifneq (,$(filter $(LOCAL_MODULE),$(CUSTOM_MODULES)))
endif

# The definition of should-install-to-system will be different depending
# on which goal (e.g., user/eng/sdk) is being built.
# on which goal (e.g., sdk or just droid) is being built.
ifdef LOCAL_IS_HOST_MODULE
  use_data :=
else
+43 −36
Original line number Diff line number Diff line
@@ -101,6 +101,8 @@ $(info ***************************************************************)
$(info ***************************************************************)
$(info Don't pass '$(filter eng user userdebug tests,$(MAKECMDGOALS))' on \
		the make command line.)
# XXX The single quote on this line fixes gvim's syntax highlighting.
# Without which, the rest of this file is impossible to read.
$(info Set TARGET_BUILD_VARIANT in buildspec.mk, or use lunch or)
$(info choosecombo.)
$(info ***************************************************************)
@@ -108,6 +110,15 @@ $(info ***************************************************************)
$(error stopping)
endif

ifneq ($(filter-out $(INTERNAL_VALID_VARIANTS),$(TARGET_BUILD_VARIANT)),)
$(info ***************************************************************)
$(info ***************************************************************)
$(info Invalid variant: $(TARGET_BUILD_VARIANT)
$(info Valid values are: $(INTERNAL_VALID_VARIANTS)
$(info ***************************************************************)
$(info ***************************************************************)
$(error stopping)
endif

###
### In this section we set up the things that are different
@@ -122,10 +133,10 @@ ifneq (,$(user_variant))
  # Target is secure in user builds.
  ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=1

  override_build_tags := user
  tags_to_install := user
  ifeq ($(user_variant),userdebug)
    # Pick up some extra useful tools
    override_build_tags += debug
    tags_to_install += debug
  else
    # Disable debugging in plain user builds.
    enable_target_debugging :=
@@ -159,10 +170,16 @@ else # !enable_target_debugging
  ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=0 persist.service.adb.enable=0
endif # !enable_target_debugging

## eng ##

ifeq ($(TARGET_BUILD_VARIANT),eng)
tags_to_install := user debug eng
endif

## tests ##

ifeq ($(TARGET_BUILD_VARIANT),tests)
override_build_tags := eng debug user development tests
tags_to_install := user debug eng tests
endif

## sdk ##
@@ -171,7 +188,9 @@ ifneq ($(filter sdk,$(MAKECMDGOALS)),)
ifneq ($(words $(filter-out $(INTERNAL_MODIFIER_TARGETS),$(MAKECMDGOALS))),1)
$(error The 'sdk' target may not be specified with any other targets)
endif
override_build_tags := user
# TODO: this should be eng I think.  Since the sdk is built from the eng
# variant.
tags_to_install := user
ADDITIONAL_BUILD_PROPERTIES += xmpp.auto-presence=true
ADDITIONAL_BUILD_PROPERTIES += ro.config.nocheckin=yes
else # !sdk
@@ -198,24 +217,17 @@ ADDITIONAL_BUILD_PROPERTIES += dalvik.vm.stack-trace-file=/data/anr/traces.txt
# Define a function that, given a list of module tags, returns
# non-empty if that module should be installed in /system.

# For most goals, anything tagged with "eng"/"debug"/"user" should
# For most goals, anything not tagged with the "tests" tag should
# be installed in /system.
define should-install-to-system
$(filter eng debug user,$(1))
$(if $(filter tests,$(1)),,true)
endef

ifneq (,$(filter sdk,$(MAKECMDGOALS)))
# For the sdk goal, anything with the "samples" tag should be
# installed in /data even if that module also has "eng"/"debug"/"user".
define should-install-to-system
$(if $(filter samples,$(1)),,$(filter eng debug user development,$(1)))
endef
endif

ifeq ($(TARGET_BUILD_VARIANT),)
# For the default goal, everything should be installed in /system.
define should-install-to-system
true
$(if $(filter samples tests,$(1)),,true)
endef
endif

@@ -454,6 +466,8 @@ add-required-deps :=
Default_MODULES := $(sort $(ALL_DEFAULT_INSTALLED_MODULES) \
                          $(ALL_BUILT_MODULES) \
                          $(CUSTOM_MODULES))
# TODO: Remove the 3 places in the tree that use
# ALL_DEFAULT_INSTALLED_MODULES and get rid of it from this list.

ifdef FULL_BUILD
  # The base list of modules to build for this product is specified
@@ -482,30 +496,23 @@ eng_MODULES := $(sort $(call get-tagged-modules,eng,restricted))
debug_MODULES := $(sort $(call get-tagged-modules,debug,restricted))
tests_MODULES := $(sort $(call get-tagged-modules,tests,restricted))

droid_MODULES := $(sort $(Default_MODULES) \
			$(eng_MODULES) \
			$(debug_MODULES) \
			$(user_MODULES) \
			$(all_development_MODULES))

# THIS IS A TOTAL HACK AND SHOULD NOT BE USED AS AN EXAMPLE
modules_to_build := $(droid_MODULES)
ifneq ($(override_build_tags),)
  modules_to_build := $(sort $(Default_MODULES) \
		      $(foreach tag,$(override_build_tags),$($(tag)_MODULES)))
#$(error skipping modules $(filter-out $(modules_to_build),$(Default_MODULES) $(droid_MODULES)))
ifeq ($(strip $(tags_to_install)),)
$(error ASSERTION FAILED: tags_to_install should not be empty)
endif
modules_to_install := $(sort $(Default_MODULES) \
          $(foreach tag,$(tags_to_install),$($(tag)_MODULES)))

# Some packages may override others using LOCAL_OVERRIDES_PACKAGES.
# Filter out (do not install) any overridden packages.
overridden_packages := $(call get-package-overrides,$(modules_to_build))
overridden_packages := $(call get-package-overrides,$(modules_to_install))
ifdef overridden_packages
#  old_modules_to_build := $(modules_to_build)
  modules_to_build := \
#  old_modules_to_install := $(modules_to_install)
  modules_to_install := \
      $(filter-out $(foreach p,$(overridden_packages),$(p) %/$(p).apk), \
          $(modules_to_build))
          $(modules_to_install))
endif
#$(error filtered out $(filter-out $(modules_to_build),$(old_modules_to_build)))
#$(error filtered out
#           $(filter-out $(modules_to_install),$(old_modules_to_install)))

# Don't include any GNU targets in the SDK.  It's ok (and necessary)
# to build the host tools, but nothing that's going to be installed
@@ -518,8 +525,8 @@ ifneq ($(filter sdk,$(MAKECMDGOALS)),)
                      $(TARGET_OUT_DATA)/%, \
                              $(sort $(call get-tagged-modules,gnu)))
  $(info Removing from sdk:)$(foreach d,$(target_gnu_MODULES),$(info : $(d)))
  modules_to_build := \
              $(filter-out $(target_gnu_MODULES),$(modules_to_build))
  modules_to_install := \
              $(filter-out $(target_gnu_MODULES),$(modules_to_install))
endif


@@ -527,9 +534,9 @@ endif
# top-level makefile with.  It expects that ALL_DEFAULT_INSTALLED_MODULES
# contains everything that's built during the current make, but it also further
# extends ALL_DEFAULT_INSTALLED_MODULES.
ALL_DEFAULT_INSTALLED_MODULES := $(modules_to_build)
ALL_DEFAULT_INSTALLED_MODULES := $(modules_to_install)
include $(BUILD_SYSTEM)/Makefile
modules_to_build := $(sort $(ALL_DEFAULT_INSTALLED_MODULES))
modules_to_install := $(sort $(ALL_DEFAULT_INSTALLED_MODULES))
ALL_DEFAULT_INSTALLED_MODULES :=

endif # dont_bother
@@ -551,7 +558,7 @@ $(ALL_C_CPP_ETC_OBJECTS): | all_copied_headers

# All the droid stuff, in directories
.PHONY: files
files: prebuilt $(modules_to_build) $(INSTALLED_ANDROID_INFO_TXT_TARGET)
files: prebuilt $(modules_to_install) $(INSTALLED_ANDROID_INFO_TXT_TARGET)

# -------------------------------------------------------------------

+8 −7
Original line number Diff line number Diff line
@@ -30,13 +30,6 @@ ifeq ($(LOCAL_PACKAGE_NAME),)
$(error $(LOCAL_PATH): Package modules must define LOCAL_PACKAGE_NAME)
endif

LOCAL_MODULE_TAGS := $(strip $(LOCAL_MODULE_TAGS))
ifeq ($(LOCAL_MODULE_TAGS),)
$(error $(LOCAL_PATH): Package modules must define LOCAL_MODULE_TAGS)
endif

#$(warning $(LOCAL_PATH) $(LOCAL_PACKAGE_NAME) $(sort $(LOCAL_MODULE_TAGS)))

ifneq ($(strip $(LOCAL_MODULE_SUFFIX)),)
$(error $(LOCAL_PATH): Package modules may not define LOCAL_MODULE_SUFFIX)
endif
@@ -60,6 +53,14 @@ $(error $(LOCAL_PATH): Package modules may not set LOCAL_MODULE_CLASS)
endif
LOCAL_MODULE_CLASS := APPS

# Package LOCAL_MODULE_TAGS default to optional
LOCAL_MODULE_TAGS := $(strip $(LOCAL_MODULE_TAGS))
ifeq ($(LOCAL_MODULE_TAGS),)
LOCAL_MODULE_TAGS := optional
endif

#$(warning $(LOCAL_PATH) $(LOCAL_PACKAGE_NAME) $(sort $(LOCAL_MODULE_TAGS)))

ifeq (,$(LOCAL_ASSET_DIR))
LOCAL_ASSET_DIR := $(LOCAL_PATH)/assets
endif
+6 −3
Original line number Diff line number Diff line
@@ -50,6 +50,11 @@ $(strip \
endef


# These are the valid values of TARGET_BUILD_VARIANT.  Also, if anything else is passed
# as the variant in the PRODUCT-$TARGET_BUILD_PRODUCT-$TARGET_BUILD_VARIANT form,
# it will be treated as a goal, and the eng variant will be used.
INTERNAL_VALID_VARIANTS := user userdebug eng tests

# ---------------------------------------------------------------
# Provide "PRODUCT-<prodname>-<goal>" targets, which lets you build
# a particular configuration without needing to set up the environment.
@@ -75,17 +80,15 @@ ifdef product_goals
  # The variant they want
  TARGET_BUILD_VARIANT := $(word 2,$(product_goals))

  # HACK HACK HACK
  # The build server wants to do make PRODUCT-dream-installclean
  # which really means TARGET_PRODUCT=dream make installclean.  
  ifneq ($(filter-out eng user userdebug tests,$(TARGET_BUILD_VARIANT)),)
  ifneq ($(filter-out $(INTERNAL_VALID_VARIANTS),$(TARGET_BUILD_VARIANT)),)
	MAKECMDGOALS := $(MAKECMDGOALS) $(TARGET_BUILD_VARIANT)
	TARGET_BUILD_VARIANT := eng
    default_goal_substitution := 
  else
    default_goal_substitution := $(DEFAULT_GOAL)
  endif
  # HACK HACK HACK

  # Hack to make the linux build servers use dexpreopt.
  # OSX is still a little flaky.  Most engineers don't use this
+6 −2
Original line number Diff line number Diff line
@@ -74,9 +74,11 @@ TESTS_INTERMEDIATES :=$(call intermediates-dir-for,JAVA_LIBRARIES,core-tests,,CO
GEN_CLASSPATH := $(CORE_INTERMEDIATES)/classes.jar:$(TESTS_INTERMEDIATES)/classes.jar:$(CORE_INTERMEDIATES)/javalib.jar:$(TESTS_INTERMEDIATES)/javalib.jar:$(HOST_OUT_JAVA_LIBRARIES)/descGen.jar:$(HOST_JDK_TOOLS_JAR)

$(CORE_TEST_PLAN): PRIVATE_CLASSPATH:=$(GEN_CLASSPATH)
$(CORE_TEST_PLAN): PRIVATE_JAVAOPTS:=-Xmx256M
$(CORE_TEST_PLAN): PRIVATE_PARAMS:=-Dcts.useSuppliedTestResult=true
$(CORE_TEST_PLAN): PRIVATE_PARAMS+=-Dcts.useEnhancedJunit=true
$(CORE_TEST_PLAN): PRIVATE_CUSTOM_TOOL := java -classpath $(PRIVATE_CLASSPATH) \
$(CORE_TEST_PLAN): PRIVATE_CUSTOM_TOOL := java $(PRIVATE_JAVAOPTS) \
	-classpath $(PRIVATE_CLASSPATH) \
	$(PRIVATE_PARAMS) CollectAllTests $(CORE_TEST_PLAN) \
	cts/tests/core/AndroidManifest.xml tests.AllTests
# Why does this depend on javalib.jar instead of classes.jar?  Because
@@ -104,7 +106,9 @@ GEN_CLASSPATH := $(CORE_INTERMEDIATES)/classes.jar:$(TESTS_INTERMEDIATES)/classe
$(CORE_VM_TEST_PLAN): PRIVATE_CLASSPATH:=$(GEN_CLASSPATH)
$(CORE_VM_TEST_PLAN): PRIVATE_PARAMS:=-Dcts.useSuppliedTestResult=true
$(CORE_VM_TEST_PLAN): PRIVATE_PARAMS+=-Dcts.useEnhancedJunit=true
$(CORE_VM_TEST_PLAN): PRIVATE_CUSTOM_TOOL := java -classpath $(PRIVATE_CLASSPATH) \
$(CORE_VM_TEST_PLAN): PRIVATE_JAVAOPTS:=-Xmx256M
$(CORE_VM_TEST_PLAN): PRIVATE_CUSTOM_TOOL := java $(PRIVATE_JAVAOPTS) \
	-classpath $(PRIVATE_CLASSPATH) \
	$(PRIVATE_PARAMS) CollectAllTests $(CORE_VM_TEST_PLAN) \
	cts/tests/vm-tests/AndroidManifest.xml dot.junit.AllJunitHostTests
# Please see big comment above on why this line depends on javalib.jar instead of classes.jar
Loading