Merge "Deprecation message for TARGET_FLATTEN_APEX"
diff --git a/core/Makefile b/core/Makefile
index 4e5787d..c3c5fb3 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -5401,6 +5401,9 @@
ifdef BOARD_PREBUILT_DTBOIMAGE
$(hide) echo "flash dtbo" >> $@
endif
+ifneq ($(INSTALLED_VENDOR_KERNEL_BOOTIMAGE_TARGET),)
+ $(hide) echo "flash vendor_kernel_boot" >> $@
+endif
ifeq ($(BOARD_USES_PVMFWIMAGE),true)
$(hide) echo "flash pvmfw" >> $@
endif
diff --git a/core/config.mk b/core/config.mk
index 0e2d271..5457fd2 100644
--- a/core/config.mk
+++ b/core/config.mk
@@ -549,7 +549,10 @@
DISABLE_PREOPT_BOOT_IMAGES :=
ifneq (,$(TARGET_BUILD_APPS)$(TARGET_BUILD_UNBUNDLED_IMAGE))
DISABLE_PREOPT := true
- DISABLE_PREOPT_BOOT_IMAGES := true
+ # VSDK builds perform dexpreopt during merge_target_files build step.
+ ifneq (true,$(BUILDING_WITH_VSDK))
+ DISABLE_PREOPT_BOOT_IMAGES := true
+ endif
endif
ifeq (true,$(TARGET_BUILD_UNBUNDLED))
ifneq (true,$(UNBUNDLED_BUILD_SDKS_FROM_SOURCE))
@@ -1208,13 +1211,6 @@
TARGET_SDK_VERSIONS_WITHOUT_JAVA_18_SUPPORT := $(call numbers_less_than,24,$(TARGET_AVAILABLE_SDK_VERSIONS))
TARGET_SDK_VERSIONS_WITHOUT_JAVA_19_SUPPORT := $(call numbers_less_than,30,$(TARGET_AVAILABLE_SDK_VERSIONS))
-# Missing optional uses-libraries so that the platform doesn't create build rules that depend on
-# them.
-INTERNAL_PLATFORM_MISSING_USES_LIBRARIES := \
- com.google.android.ble \
- com.google.android.media.effects \
- com.google.android.wearable \
-
# This is the standard way to name a directory containing prebuilt target
# objects. E.g., prebuilt/$(TARGET_PREBUILT_TAG)/libc.so
TARGET_PREBUILT_TAG := android-$(TARGET_ARCH)
diff --git a/core/config_sanitizers.mk b/core/config_sanitizers.mk
index 0e84f516..aa638d4 100644
--- a/core/config_sanitizers.mk
+++ b/core/config_sanitizers.mk
@@ -446,6 +446,13 @@
# If local module needs HWASAN, add compiler flags.
ifneq ($(filter hwaddress,$(my_sanitize)),)
my_cflags += $(HWADDRESS_SANITIZER_CONFIG_EXTRA_CFLAGS)
+
+ ifneq ($(filter EXECUTABLES NATIVE_TESTS,$(LOCAL_MODULE_CLASS)),)
+ ifneq ($(LOCAL_FORCE_STATIC_EXECUTABLE),true)
+ my_linker := /system/bin/linker_hwasan64
+ endif
+ endif
+
endif
# Use minimal diagnostics when integer overflow is enabled; never do it for HOST modules
diff --git a/core/dex_preopt_odex_install.mk b/core/dex_preopt_odex_install.mk
index 2cf23a7..14fafa1 100644
--- a/core/dex_preopt_odex_install.mk
+++ b/core/dex_preopt_odex_install.mk
@@ -111,18 +111,19 @@
# Local module variables and functions used in dexpreopt and manifest_check.
################################################################################
-my_filtered_optional_uses_libraries := $(filter-out $(INTERNAL_PLATFORM_MISSING_USES_LIBRARIES), \
- $(LOCAL_OPTIONAL_USES_LIBRARIES))
-
# TODO(b/132357300): This may filter out too much, as PRODUCT_PACKAGES doesn't
# include all packages (the full list is unknown until reading all Android.mk
# makefiles). As a consequence, a library may be present but not included in
# dexpreopt, which will result in class loader context mismatch and a failure
-# to load dexpreopt code on device. We should fix this, either by deferring
-# dependency computation until the full list of product packages is known, or
-# by adding product-specific lists of missing libraries.
+# to load dexpreopt code on device.
+# However, we have to do filtering here. Otherwise, we may include extra
+# libraries that Soong and Make don't generate build rules for (e.g., a library
+# that exists in the source tree but not installable), and therefore get Ninja
+# errors.
+# We have deferred CLC computation to the Ninja phase, but the dependency
+# computation still needs to be done early. For now, this is the best we can do.
my_filtered_optional_uses_libraries := $(filter $(PRODUCT_PACKAGES), \
- $(my_filtered_optional_uses_libraries))
+ $(LOCAL_OPTIONAL_USES_LIBRARIES))
ifeq ($(LOCAL_MODULE_CLASS),APPS)
# compatibility libraries are added to class loader context of an app only if
diff --git a/core/instrumentation_test_config_template.xml b/core/instrumentation_test_config_template.xml
index 6ca964e..379126c 100644
--- a/core/instrumentation_test_config_template.xml
+++ b/core/instrumentation_test_config_template.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2017 The Android Open Source Project
+<!-- Copyright (C) 2023 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -24,7 +24,7 @@
</target_preparer>
<test class="com.android.tradefed.testtype.{TEST_TYPE}" >
- <option name="package" value="{PACKAGE}" />
+ {EXTRA_TEST_RUNNER_CONFIGS}<option name="package" value="{PACKAGE}" />
<option name="runner" value="{RUNNER}" />
</test>
</configuration>
diff --git a/core/java_host_test_config_template.xml b/core/java_host_test_config_template.xml
index 26c1caf..e123dc7 100644
--- a/core/java_host_test_config_template.xml
+++ b/core/java_host_test_config_template.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2018 The Android Open Source Project
+<!-- Copyright (C) 2023 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -21,6 +21,6 @@
{EXTRA_CONFIGS}
<test class="com.android.tradefed.testtype.HostTest" >
- <option name="jar" value="{MODULE}.jar" />
+ {EXTRA_TEST_RUNNER_CONFIGS}<option name="jar" value="{MODULE}.jar" />
</test>
</configuration>
diff --git a/core/native_test_config_template.xml b/core/native_test_config_template.xml
index ea982cf..788157c 100644
--- a/core/native_test_config_template.xml
+++ b/core/native_test_config_template.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2017 The Android Open Source Project
+<!-- Copyright (C) 2023 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -26,7 +26,7 @@
</target_preparer>
<test class="com.android.tradefed.testtype.GTest" >
- <option name="native-test-device-path" value="{TEST_INSTALL_BASE}" />
+ {EXTRA_TEST_RUNNER_CONFIGS}<option name="native-test-device-path" value="{TEST_INSTALL_BASE}" />
<option name="module-name" value="{MODULE}" />
</test>
</configuration>
diff --git a/core/soong_config.mk b/core/soong_config.mk
index 5a62a0e..46f06f7 100644
--- a/core/soong_config.mk
+++ b/core/soong_config.mk
@@ -251,8 +251,6 @@
$(call add_json_list, TargetFSConfigGen, $(TARGET_FS_CONFIG_GEN))
-$(call add_json_list, MissingUsesLibraries, $(INTERNAL_PLATFORM_MISSING_USES_LIBRARIES))
-
$(call add_json_map, VendorVars)
$(foreach namespace,$(sort $(SOONG_CONFIG_NAMESPACES)),\
$(call add_json_map, $(namespace))\
diff --git a/tools/aconfig/src/codegen_rust.rs b/tools/aconfig/src/codegen_rust.rs
index b3a6f53..fe4231b 100644
--- a/tools/aconfig/src/codegen_rust.rs
+++ b/tools/aconfig/src/codegen_rust.rs
@@ -111,7 +111,7 @@
#[inline(always)]
pub fn r#test_disabled_rw() -> bool {
- profcollect_libflags_rust::GetServerConfigurableFlag("test", "disabled_rw", "false") == "true"
+ flags_rust::GetServerConfigurableFlag("test", "disabled_rw", "false") == "true"
}
#[inline(always)]
@@ -121,7 +121,7 @@
#[inline(always)]
pub fn r#test_enabled_rw() -> bool {
- profcollect_libflags_rust::GetServerConfigurableFlag("test", "enabled_rw", "false") == "true"
+ flags_rust::GetServerConfigurableFlag("test", "enabled_rw", "false") == "true"
}
"#;
assert_eq!(expected.trim(), String::from_utf8(generated.contents).unwrap().trim());
diff --git a/tools/aconfig/templates/rust.template b/tools/aconfig/templates/rust.template
index 391c594..d7f4e8d 100644
--- a/tools/aconfig/templates/rust.template
+++ b/tools/aconfig/templates/rust.template
@@ -16,7 +16,7 @@
{{- if parsed_flag.is_read_write -}}
#[inline(always)]
pub fn r#{parsed_flag.fn_name}() -> bool \{
- profcollect_libflags_rust::GetServerConfigurableFlag("{namespace}", "{parsed_flag.name}", "false") == "true"
+ flags_rust::GetServerConfigurableFlag("{namespace}", "{parsed_flag.name}", "false") == "true"
}
{{ endif -}}
diff --git a/tools/releasetools/img_from_target_files.py b/tools/releasetools/img_from_target_files.py
index 17f4cc5..fa53ad2 100755
--- a/tools/releasetools/img_from_target_files.py
+++ b/tools/releasetools/img_from_target_files.py
@@ -64,7 +64,7 @@
OPTIONS.retrofit_dap = None
OPTIONS.build_super = None
OPTIONS.sparse_userimages = None
-
+OPTIONS.use_fastboot_info = False
def LoadOptions(input_file):
"""Loads information from input_file to OPTIONS.
@@ -118,8 +118,9 @@
entries = [
'OTA/android-info.txt:android-info.txt',
- 'META/fastboot-info.txt:fastboot-info.txt',
]
+ if OPTIONS.use_fastboot_info:
+ entries.append('META/fastboot-info.txt:fastboot-info.txt')
with zipfile.ZipFile(input_file) as input_zip:
namelist = input_zip.namelist()
if 'PREBUILT_IMAGES/kernel_16k' in namelist: