Merge changes I129136e8,I278bd8ed,I1d22ed6f am: 510c0014d5
Original change: https://android-review.googlesource.com/c/platform/build/+/1781014 Change-Id: I170b5019f68467845e68d07e5a4f6262ea5138d3
This commit is contained in:
@@ -206,7 +206,7 @@ $(INSTALLED_SDK_BUILD_PROP_TARGET): $(INSTALLED_BUILD_PROP_TARGET)
|
|||||||
@mkdir -p $(dir $@)
|
@mkdir -p $(dir $@)
|
||||||
$(hide) grep -v "$(subst $(space),\|,$(strip \
|
$(hide) grep -v "$(subst $(space),\|,$(strip \
|
||||||
$(sdk_build_prop_remove)))" $< > $@.tmp
|
$(sdk_build_prop_remove)))" $< > $@.tmp
|
||||||
$(hide) for x in $(sdk_build_prop_remove); do \
|
$(hide) for x in $(strip $(sdk_build_prop_remove)); do \
|
||||||
echo "$$x"generic >> $@.tmp; done
|
echo "$$x"generic >> $@.tmp; done
|
||||||
$(hide) mv $@.tmp $@
|
$(hide) mv $@.tmp $@
|
||||||
|
|
||||||
@@ -320,11 +320,11 @@ endef
|
|||||||
define build-image-kernel-modules-depmod
|
define build-image-kernel-modules-depmod
|
||||||
$(3)/$(DEPMOD_STAGING_SUBDIR)/modules.dep: .KATI_IMPLICIT_OUTPUTS := $(3)/$(DEPMOD_STAGING_SUBDIR)/modules.alias $(3)/$(DEPMOD_STAGING_SUBDIR)/modules.softdep $(3)/$(DEPMOD_STAGING_SUBDIR)/$(5)
|
$(3)/$(DEPMOD_STAGING_SUBDIR)/modules.dep: .KATI_IMPLICIT_OUTPUTS := $(3)/$(DEPMOD_STAGING_SUBDIR)/modules.alias $(3)/$(DEPMOD_STAGING_SUBDIR)/modules.softdep $(3)/$(DEPMOD_STAGING_SUBDIR)/$(5)
|
||||||
$(3)/$(DEPMOD_STAGING_SUBDIR)/modules.dep: $(DEPMOD)
|
$(3)/$(DEPMOD_STAGING_SUBDIR)/modules.dep: $(DEPMOD)
|
||||||
$(3)/$(DEPMOD_STAGING_SUBDIR)/modules.dep: PRIVATE_MODULES := $(1)
|
$(3)/$(DEPMOD_STAGING_SUBDIR)/modules.dep: PRIVATE_MODULES := $(strip $(1))
|
||||||
$(3)/$(DEPMOD_STAGING_SUBDIR)/modules.dep: PRIVATE_MOUNT_POINT := $(2)
|
$(3)/$(DEPMOD_STAGING_SUBDIR)/modules.dep: PRIVATE_MOUNT_POINT := $(2)
|
||||||
$(3)/$(DEPMOD_STAGING_SUBDIR)/modules.dep: PRIVATE_MODULE_DIR := $(3)/$(DEPMOD_STAGING_SUBDIR)/$(2)/lib/modules/$(8)
|
$(3)/$(DEPMOD_STAGING_SUBDIR)/modules.dep: PRIVATE_MODULE_DIR := $(3)/$(DEPMOD_STAGING_SUBDIR)/$(2)/lib/modules/$(8)
|
||||||
$(3)/$(DEPMOD_STAGING_SUBDIR)/modules.dep: PRIVATE_STAGING_DIR := $(3)
|
$(3)/$(DEPMOD_STAGING_SUBDIR)/modules.dep: PRIVATE_STAGING_DIR := $(3)
|
||||||
$(3)/$(DEPMOD_STAGING_SUBDIR)/modules.dep: PRIVATE_LOAD_MODULES := $(4)
|
$(3)/$(DEPMOD_STAGING_SUBDIR)/modules.dep: PRIVATE_LOAD_MODULES := $(strip $(4))
|
||||||
$(3)/$(DEPMOD_STAGING_SUBDIR)/modules.dep: PRIVATE_LOAD_FILE := $(3)/$(DEPMOD_STAGING_SUBDIR)/$(5)
|
$(3)/$(DEPMOD_STAGING_SUBDIR)/modules.dep: PRIVATE_LOAD_FILE := $(3)/$(DEPMOD_STAGING_SUBDIR)/$(5)
|
||||||
$(3)/$(DEPMOD_STAGING_SUBDIR)/modules.dep: PRIVATE_MODULE_ARCHIVE := $(6)
|
$(3)/$(DEPMOD_STAGING_SUBDIR)/modules.dep: PRIVATE_MODULE_ARCHIVE := $(6)
|
||||||
$(3)/$(DEPMOD_STAGING_SUBDIR)/modules.dep: PRIVATE_OUTPUT_DIR := $(7)
|
$(3)/$(DEPMOD_STAGING_SUBDIR)/modules.dep: PRIVATE_OUTPUT_DIR := $(7)
|
||||||
@@ -5148,10 +5148,10 @@ endif
|
|||||||
ifeq ($(AB_OTA_UPDATER),true)
|
ifeq ($(AB_OTA_UPDATER),true)
|
||||||
@# When using the A/B updater, include the updater config files in the zip.
|
@# When using the A/B updater, include the updater config files in the zip.
|
||||||
$(hide) cp $(TOPDIR)system/update_engine/update_engine.conf $(zip_root)/META/update_engine_config.txt
|
$(hide) cp $(TOPDIR)system/update_engine/update_engine.conf $(zip_root)/META/update_engine_config.txt
|
||||||
$(hide) for part in $(AB_OTA_PARTITIONS); do \
|
$(hide) for part in $(strip $(AB_OTA_PARTITIONS)); do \
|
||||||
echo "$${part}" >> $(zip_root)/META/ab_partitions.txt; \
|
echo "$${part}" >> $(zip_root)/META/ab_partitions.txt; \
|
||||||
done
|
done
|
||||||
$(hide) for conf in $(AB_OTA_POSTINSTALL_CONFIG); do \
|
$(hide) for conf in $(strip $(AB_OTA_POSTINSTALL_CONFIG)); do \
|
||||||
echo "$${conf}" >> $(zip_root)/META/postinstall_config.txt; \
|
echo "$${conf}" >> $(zip_root)/META/postinstall_config.txt; \
|
||||||
done
|
done
|
||||||
ifdef OSRELEASED_DIRECTORY
|
ifdef OSRELEASED_DIRECTORY
|
||||||
@@ -5948,7 +5948,7 @@ $(INTERNAL_SDK_TARGET): PRIVATE_INPUT_FILES := $(sdk_atree_files)
|
|||||||
$(INTERNAL_SDK_TARGET): $(deps)
|
$(INTERNAL_SDK_TARGET): $(deps)
|
||||||
@echo "Package SDK: $@"
|
@echo "Package SDK: $@"
|
||||||
$(hide) rm -rf $(PRIVATE_DIR) $@
|
$(hide) rm -rf $(PRIVATE_DIR) $@
|
||||||
$(hide) for f in $(target_gnu_MODULES); do \
|
$(hide) for f in $(strip $(target_gnu_MODULES)); do \
|
||||||
if [ -f $$f ]; then \
|
if [ -f $$f ]; then \
|
||||||
echo SDK: $(if $(SDK_GNU_ERROR),ERROR:,warning:) \
|
echo SDK: $(if $(SDK_GNU_ERROR),ERROR:,warning:) \
|
||||||
including GNU target $$f >&2; \
|
including GNU target $$f >&2; \
|
||||||
|
@@ -355,7 +355,7 @@ endif
|
|||||||
ADDITIONAL_PRODUCT_PROPERTIES += ro.build.characteristics=$(TARGET_AAPT_CHARACTERISTICS)
|
ADDITIONAL_PRODUCT_PROPERTIES += ro.build.characteristics=$(TARGET_AAPT_CHARACTERISTICS)
|
||||||
|
|
||||||
ifeq ($(AB_OTA_UPDATER),true)
|
ifeq ($(AB_OTA_UPDATER),true)
|
||||||
ADDITIONAL_PRODUCT_PROPERTIES += ro.product.ab_ota_partitions=$(subst $(space),$(comma),$(AB_OTA_PARTITIONS))
|
ADDITIONAL_PRODUCT_PROPERTIES += ro.product.ab_ota_partitions=$(subst $(space),$(comma),$(strip $(AB_OTA_PARTITIONS)))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# -----------------------------------------------------------------
|
# -----------------------------------------------------------------
|
||||||
|
@@ -77,6 +77,16 @@ define find-copy-subdir-files
|
|||||||
$(sort $(shell find $(2) -name "$(1)" -type f | $(SED_EXTENDED) "s:($(2)/?(.*)):\\1\\:$(3)/\\2:" | sed "s://:/:g"))
|
$(sort $(shell find $(2) -name "$(1)" -type f | $(SED_EXTENDED) "s:($(2)/?(.*)):\\1\\:$(3)/\\2:" | sed "s://:/:g"))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
#
|
||||||
|
# Convert file file to the PRODUCT_COPY_FILES/PRODUCT_SDK_ADDON_COPY_FILES
|
||||||
|
# format: for each file F return $(F):$(PREFIX)/$(notdir $(F))
|
||||||
|
# $(1): files list
|
||||||
|
# $(2): prefix
|
||||||
|
|
||||||
|
define copy-files
|
||||||
|
$(foreach f,$(1),$(f):$(2)/$(notdir $(f)))
|
||||||
|
endef
|
||||||
|
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# Check for obsolete PRODUCT- and APP- goals
|
# Check for obsolete PRODUCT- and APP- goals
|
||||||
ifeq ($(CALLED_FROM_SETUP),true)
|
ifeq ($(CALLED_FROM_SETUP),true)
|
||||||
|
@@ -16,6 +16,7 @@ load("//build/make/core:envsetup.rbc", _envsetup_init = "init")
|
|||||||
|
|
||||||
"""Runtime functions."""
|
"""Runtime functions."""
|
||||||
|
|
||||||
|
_soong_config_namespaces_key = "$SOONG_CONFIG_NAMESPACES"
|
||||||
def _global_init():
|
def _global_init():
|
||||||
"""Returns dict created from the runtime environment."""
|
"""Returns dict created from the runtime environment."""
|
||||||
globals = dict()
|
globals = dict()
|
||||||
@@ -29,6 +30,7 @@ def _global_init():
|
|||||||
globals[k] = getattr(rblf_cli, k)
|
globals[k] = getattr(rblf_cli, k)
|
||||||
|
|
||||||
globals.setdefault("PRODUCT_SOONG_NAMESPACES", [])
|
globals.setdefault("PRODUCT_SOONG_NAMESPACES", [])
|
||||||
|
globals.setdefault(_soong_config_namespaces_key, {})
|
||||||
_envsetup_init(globals)
|
_envsetup_init(globals)
|
||||||
|
|
||||||
# Variables that should be defined.
|
# Variables that should be defined.
|
||||||
@@ -74,7 +76,12 @@ def _printvars(globals, cfg):
|
|||||||
if _options.print_globals:
|
if _options.print_globals:
|
||||||
print()
|
print()
|
||||||
for attr, val in sorted(globals.items()):
|
for attr, val in sorted(globals.items()):
|
||||||
if attr not in _globals_base:
|
if attr == _soong_config_namespaces_key:
|
||||||
|
__print_attr("SOONG_CONFIG_NAMESPACES", val.keys())
|
||||||
|
for nsname, nsvars in sorted(val.items()):
|
||||||
|
for var, val in sorted(nsvars.items()):
|
||||||
|
__print_attr("SOONG_CONFIG_%s_%s" % (nsname, var), val)
|
||||||
|
elif attr not in _globals_base:
|
||||||
__print_attr(attr, val)
|
__print_attr(attr, val)
|
||||||
|
|
||||||
def __printvars_rearrange_list(value_list):
|
def __printvars_rearrange_list(value_list):
|
||||||
@@ -268,6 +275,20 @@ def _indirect(pcm_name):
|
|||||||
"""Returns configuration item for the inherited module."""
|
"""Returns configuration item for the inherited module."""
|
||||||
return (pcm_name,)
|
return (pcm_name,)
|
||||||
|
|
||||||
|
def _add_soong_config_namespace(g, nsname):
|
||||||
|
"""Adds given namespace."""
|
||||||
|
|
||||||
|
# A value cannot be updated, so we need to create a new dictionary
|
||||||
|
old = g[_soong_config_namespaces_key]
|
||||||
|
g[_soong_config_namespaces_key] = dict([(k,v) for k,v in old.items()] + [(nsname, {})])
|
||||||
|
|
||||||
|
def _add_soong_config_var_value(g, nsname, var, value):
|
||||||
|
"""Defines a variable and adds it to the given namespace."""
|
||||||
|
ns = g[_soong_config_namespaces_key].get(nsname)
|
||||||
|
if ns == None:
|
||||||
|
fail("no such namespace: " + nsname)
|
||||||
|
ns[var] = value
|
||||||
|
|
||||||
def _addprefix(prefix, string_or_list):
|
def _addprefix(prefix, string_or_list):
|
||||||
"""Adds prefix and returns a list.
|
"""Adds prefix and returns a list.
|
||||||
|
|
||||||
@@ -523,6 +544,8 @@ def __get_options():
|
|||||||
# Settings used during debugging.
|
# Settings used during debugging.
|
||||||
_options = __get_options()
|
_options = __get_options()
|
||||||
rblf = struct(
|
rblf = struct(
|
||||||
|
add_soong_config_namespace = _add_soong_config_namespace,
|
||||||
|
add_soong_config_var_value = _add_soong_config_var_value,
|
||||||
addprefix = _addprefix,
|
addprefix = _addprefix,
|
||||||
addsuffix = _addsuffix,
|
addsuffix = _addsuffix,
|
||||||
copy_if_exists = _copy_if_exists,
|
copy_if_exists = _copy_if_exists,
|
||||||
|
@@ -22,6 +22,12 @@
|
|||||||
### include $(LOCAL_PATH)/include1.mk
|
### include $(LOCAL_PATH)/include1.mk
|
||||||
### PRODUCT_PACKAGES += dev_after
|
### PRODUCT_PACKAGES += dev_after
|
||||||
### PRODUCT_COPY_FILES += $(call find-copy-subdir-files,audio_platform_info*.xml,device/google/redfin/audio,$(TARGET_COPY_OUT_VENDOR)/etc) xyz
|
### PRODUCT_COPY_FILES += $(call find-copy-subdir-files,audio_platform_info*.xml,device/google/redfin/audio,$(TARGET_COPY_OUT_VENDOR)/etc) xyz
|
||||||
|
### $(call add_soong_namespace,NS1)
|
||||||
|
### $(call add_soong_config_var_value,NS1,v1,abc)
|
||||||
|
### $(call add_soong_config_var_value,NS1,v2,def)
|
||||||
|
### $(call add_soong_namespace,NS2)
|
||||||
|
### $(call add_soong_config_var_value,NS2,v3,abc)
|
||||||
|
### $(call add_soong_config_var_value,NS2,v3,xyz)
|
||||||
|
|
||||||
load("//build/make/core:product_config.rbc", "rblf")
|
load("//build/make/core:product_config.rbc", "rblf")
|
||||||
load(":part1.rbc", _part1_init = "init")
|
load(":part1.rbc", _part1_init = "init")
|
||||||
@@ -40,3 +46,10 @@ def init(g, handle):
|
|||||||
cfg["PRODUCT_PACKAGES"] += ["dev_after"]
|
cfg["PRODUCT_PACKAGES"] += ["dev_after"]
|
||||||
cfg["PRODUCT_COPY_FILES"] += (rblf.find_and_copy("audio_platform_info*.xml", "device/google/redfin/audio", "||VENDOR-PATH-PH||/etc") +
|
cfg["PRODUCT_COPY_FILES"] += (rblf.find_and_copy("audio_platform_info*.xml", "device/google/redfin/audio", "||VENDOR-PATH-PH||/etc") +
|
||||||
["xyz"])
|
["xyz"])
|
||||||
|
rblf.add_soong_config_namespace(g, "NS1")
|
||||||
|
rblf.add_soong_config_var_value(g, "NS1", "v1", "abc")
|
||||||
|
rblf.add_soong_config_var_value(g, "NS1", "v2", "def")
|
||||||
|
rblf.add_soong_config_namespace(g, "NS2")
|
||||||
|
rblf.add_soong_config_var_value(g, "NS2", "v3", "abc")
|
||||||
|
rblf.add_soong_config_var_value(g, "NS2", "v3", "xyz")
|
||||||
|
|
||||||
|
@@ -63,3 +63,17 @@ assert_eq(
|
|||||||
},
|
},
|
||||||
{ k:v for k, v in sorted(config.items()) }
|
{ k:v for k, v in sorted(config.items()) }
|
||||||
)
|
)
|
||||||
|
|
||||||
|
ns = globals["$SOONG_CONFIG_NAMESPACES"]
|
||||||
|
assert_eq(
|
||||||
|
{
|
||||||
|
"NS1": {
|
||||||
|
"v1": "abc",
|
||||||
|
"v2": "def"
|
||||||
|
},
|
||||||
|
"NS2": {
|
||||||
|
"v3": "xyz"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{k:v for k, v in sorted(ns.items()) }
|
||||||
|
)
|
||||||
|
Reference in New Issue
Block a user