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

Commit 47dcbeae authored by Martin Stjernholm's avatar Martin Stjernholm
Browse files

Build modules from source for module products.

This overrides the branch default
(BRANCH_DEFAULT_MODULE_BUILD_FROM_SOURCE) if it is set to use
prebuilts.

Test: build/soong/soong_ui.bash --dumpvar-mode MODULE_BUILD_FROM_SOURCE
  returns false with BRANCH_DEFAULT_MODULE_BUILD_FROM_SOURCE:=false
  in internal
Test: env TARGET_PRODUCT=module_arm64 \
      build/soong/soong_ui.bash --dumpvar-mode MODULE_BUILD_FROM_SOURCE
  returns true with BRANCH_DEFAULT_MODULE_BUILD_FROM_SOURCE:=false
  in internal
Test: env TARGET_PRODUCT=mainline_modules_x86 \
      build/soong/soong_ui.bash --dumpvar-mode MODULE_BUILD_FROM_SOURCE
  returns true with BRANCH_DEFAULT_MODULE_BUILD_FROM_SOURCE:=false
  in internal
Test: env TARGET_PRODUCT=redfin \
      build/soong/soong_ui.bash --dumpvar-mode MODULE_BUILD_FROM_SOURCE
  returns false with BRANCH_DEFAULT_MODULE_BUILD_FROM_SOURCE:=false
  in internal
Bug: 222723757
Change-Id: I0faea006b0e95eff40bbfbe00cc74ba5985beeba
parent fa92dd5f
Loading
Loading
Loading
Loading
+3 −7
Original line number Diff line number Diff line
@@ -52,9 +52,9 @@ else ifeq (,$(filter sdk win_sdk sdk_addon,$(MAKECMDGOALS))$(findstring com.goog
  # However, sdk/win_sdk/sdk_addon builds might not include com.google.android.xxx
  # packages, so for those we respect the default behavior.
  MODULE_BUILD_FROM_SOURCE := true
else ifeq (,$(filter-out modules_% mainline_modules_%,$(TARGET_PRODUCT)))
  # Always build from source in unbundled builds using the module targets.
  MODULE_BUILD_FROM_SOURCE := true
else ifneq (,$(PRODUCT_MODULE_BUILD_FROM_SOURCE))
  # Let products override the branch default.
  MODULE_BUILD_FROM_SOURCE := $(PRODUCT_MODULE_BUILD_FROM_SOURCE)
else
  MODULE_BUILD_FROM_SOURCE := $(BRANCH_DEFAULT_MODULE_BUILD_FROM_SOURCE)
endif
@@ -64,10 +64,6 @@ ifneq (,$(ART_MODULE_BUILD_FROM_SOURCE))
else ifneq (,$(findstring .android.art,$(TARGET_BUILD_APPS)))
  # Build ART modules from source if they are listed in TARGET_BUILD_APPS.
  ART_MODULE_BUILD_FROM_SOURCE := true
else ifeq (,$(filter-out modules_% mainline_modules_%,$(TARGET_PRODUCT)))
  # Always build from source for the module targets. This ought to be covered by
  # the TARGET_BUILD_APPS check above, but there are test builds that don't set it.
  ART_MODULE_BUILD_FROM_SOURCE := true
else
  # Do the same as other modules by default.
  ART_MODULE_BUILD_FROM_SOURCE := $(MODULE_BUILD_FROM_SOURCE)
+4 −0
Original line number Diff line number Diff line
@@ -370,6 +370,10 @@ _product_single_value_vars += PRODUCT_INSTALL_DEBUG_POLICY_TO_SYSTEM_EXT
# "/system/framework/foo.jar" will be "system/framework/foo.jar.fsv_meta".
_product_single_value_vars += PRODUCT_SYSTEM_FSVERITY_GENERATE_METADATA

# If true, sets the default for MODULE_BUILD_FROM_SOURCE. This overrides
# BRANCH_DEFAULT_MODULE_BUILD_FROM_SOURCE but not an explicitly set value.
_product_single_value_vars += PRODUCT_MODULE_BUILD_FROM_SOURCE

.KATI_READONLY := _product_single_value_vars _product_list_vars
_product_var_list :=$= $(_product_single_value_vars) $(_product_list_vars)

+4 −0
Original line number Diff line number Diff line
@@ -21,3 +21,7 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/cfi-common.mk)
# Enables treble, which enabled certain -D compilation flags. In particular, libhidlbase
# uses -DENFORCE_VINTF_MANIFEST. See b/185759877
PRODUCT_SHIPPING_API_LEVEL := 29

# Builds using a module product should build modules from source, even if
# BRANCH_DEFAULT_MODULE_BUILD_FROM_SOURCE says otherwise.
PRODUCT_MODULE_BUILD_FROM_SOURCE := true