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

Commit cd38b860 authored by Dan Albert's avatar Dan Albert
Browse files

Add PLATFORM_VERSION_FUTURE_CODENAMES.

PLATFORM_VERSION_ALL_CODENAMES isn't actually all the code names, just
the ones active in our current target. We need the list of all targets
so we can validate code names in NDK stub templates even if they're in
the future. Unfortunately, all_codenames has been baked into
build.prop for ages, so we're stuck with this name. Improve the
comments and add PLATFORM_VERSION_FUTURE_CODENAMES to cover to cover
the future targets.

Test: make checkbuild
Test: check $ANDROID_PRODUCT_OUT/system/build.prop
Bug: None
Change-Id: I81fed6f761e5362ef3050be9d1e3fb17739feadd
parent cf021094
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -34,7 +34,8 @@ $(SOONG_VARIABLES): FORCE
	echo '    "Make_suffix": "-$(TARGET_PRODUCT)",'; \
	echo ''; \
	echo '    "Platform_sdk_version": $(PLATFORM_SDK_VERSION),'; \
	echo '    "Platform_version_all_codenames": $(call csv_to_json_list,$(PLATFORM_VERSION_ALL_CODENAMES)),'; \
	echo '    "Platform_version_active_codenames": $(call csv_to_json_list,$(PLATFORM_VERSION_ALL_CODENAMES)),'; \
	echo '    "Platform_version_future_codenames": $(call csv_to_json_list,$(PLATFORM_VERSION_FUTURE_CODENAMES)),'; \
	echo '    "Unbundled_build": $(if $(TARGET_BUILD_APPS),true,false),'; \
	echo '    "Brillo": $(if $(BRILLO),true,false),'; \
	echo '    "Malloc_not_svelte": $(if $(filter true,$(MALLOC_SVELTE)),false,true),'; \
+22 −5
Original line number Diff line number Diff line
@@ -129,14 +129,17 @@ ifndef PLATFORM_VERSION_CODENAME
    PLATFORM_VERSION_CODENAME := $(TARGET_PLATFORM_VERSION)
  endif

  # This is all of the development codenames that are active.  Should be either
  # the same as PLATFORM_VERSION_CODENAME or a comma-separated list of additional
  # codenames after PLATFORM_VERSION_CODENAME.
  # This is all of the *active* development codenames. There are future
  # codenames not included in this list. This confusing name is needed because
  # all_codenames has been baked into build.prop for ages.
  #
  # Should be either the same as PLATFORM_VERSION_CODENAME or a comma-separated
  # list of additional codenames after PLATFORM_VERSION_CODENAME.
  PLATFORM_VERSION_ALL_CODENAMES :=

  # Build a list of all possible code names. Avoid duplicates, and stop when we
  # Build a list of all active code names. Avoid duplicates, and stop when we
  # reach a codename that matches PLATFORM_VERSION_CODENAME (anything beyond
  # that is not included in our build.
  # that is not included in our build).
  _versions_in_target := \
    $(call find_and_earlier,$(ALL_VERSIONS),$(TARGET_PLATFORM_VERSION))
  $(foreach version,$(_versions_in_target),\
@@ -144,9 +147,23 @@ ifndef PLATFORM_VERSION_CODENAME
    $(if $(filter $(_codename),$(PLATFORM_VERSION_ALL_CODENAMES)),,\
      $(eval PLATFORM_VERSION_ALL_CODENAMES += $(_codename))))

  # This is all of the inactive development codenames. Available to be targeted
  # in this branch but in the future relative to our current target.
  PLATFORM_VERSION_FUTURE_CODENAMES :=

  # Build a list of all untargeted code names. Avoid duplicates.
  _versions_not_in_target := \
    $(filter-out $(PLATFORM_VERSION_ALL_CODENAMES),$(ALL_VERSIONS))
  $(foreach version,$(_versions_not_in_target),\
    $(eval _codename := $(PLATFORM_VERSION_CODENAME.$(version)))\
    $(if $(filter $(_codename),$(PLATFORM_VERSION_FUTURE_CODENAMES)),,\
      $(eval PLATFORM_VERSION_FUTURE_CODENAMES += $(_codename))))

  # And convert from space separated to comma separated.
  PLATFORM_VERSION_ALL_CODENAMES := \
    $(subst $(space),$(comma),$(strip $(PLATFORM_VERSION_ALL_CODENAMES)))
  PLATFORM_VERSION_FUTURE_CODENAMES := \
    $(subst $(space),$(comma),$(strip $(PLATFORM_VERSION_FUTURE_CODENAMES)))

endif