aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDario Freni <dariofreni@google.com>2022-03-07 17:26:25 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-03-07 17:26:25 +0000
commita05fb4002b9e57a3943dc104ae74df1f6ec977f5 (patch)
tree2d9acfebee8f609cfb62f8e4830d25c28896a381
parent59c8ca8c63c794916dea81168783fcb642a77ac4 (diff)
parentec63efddf90a3f1a6e80ce2039415553b0bcc7a2 (diff)
downloadbuild-sam_222710654.tar.gz
Merge "Build modules from source by default." am: ec63efddf9sam_222710654
Original change: https://android-review.googlesource.com/c/platform/build/+/1998880 Change-Id: I367438214a7649cade2396b48ed3efb14b564075
-rw-r--r--core/android_soong_config_vars.mk22
1 files changed, 16 insertions, 6 deletions
diff --git a/core/android_soong_config_vars.mk b/core/android_soong_config_vars.mk
index 641cd1a262..c6f4cb0323 100644
--- a/core/android_soong_config_vars.mk
+++ b/core/android_soong_config_vars.mk
@@ -36,17 +36,27 @@ $(call add_soong_config_var,ANDROID,BOARD_USES_RECOVERY_AS_BOOT)
$(call add_soong_config_var,ANDROID,BOARD_BUILD_SYSTEM_ROOT_IMAGE)
$(call add_soong_config_var,ANDROID,PRODUCT_INSTALL_DEBUG_POLICY_TO_SYSTEM_EXT)
-ifneq (,$(filter sdk win_sdk sdk_addon,$(MAKECMDGOALS)))
- # The artifacts in the SDK zip are OK to build with prebuilt stubs enabled,
- # even if prebuilt apexes are not enabled, because the system images in the
- # SDK stub are not currently used (and will be removed: b/205008975).
- MODULE_BUILD_FROM_SOURCE ?= false
-else ifeq (,$(findstring com.google.android.conscrypt,$(PRODUCT_PACKAGES)))
+# Default behavior for the tree wrt building modules or using prebuilts. This
+# can always be overridden by setting the environment variable
+# MODULE_BUILD_FROM_SOURCE.
+BRANCH_DEFAULT_MODULE_BUILD_FROM_SOURCE := true
+
+ifneq (,$(MODULE_BUILD_FROM_SOURCE))
+ # Keep an explicit setting.
+else ifeq (,$(filter sdk win_sdk sdk_addon,$(MAKECMDGOALS))$(findstring com.google.android.conscrypt,$(PRODUCT_PACKAGES)))
# Prebuilt module SDKs require prebuilt modules to work, and currently
# prebuilt modules are only provided for com.google.android.xxx. If we can't
# find one of them in PRODUCT_PACKAGES then assume com.android.xxx are in use,
# and disable prebuilt SDKs. In particular this applies to AOSP builds.
+ #
+ # 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
+ MODULE_BUILD_FROM_SOURCE := $(BRANCH_DEFAULT_MODULE_BUILD_FROM_SOURCE)
endif
# TODO(b/220940864): Remove when build scripts have been changed to use