config: partner_gms: Remove hardcoded variant list

Instead of hardcoding the GMS variant, allow to set the makefiles
which should be included for WITH_GMS builds.

For example:
  Project FI
    - WITH_GMS_FI := true
    + GMS_MAKEFILE := fi.mk

  Go devices
    - WITH_GMS_GO := true
    + GMS_MAKEFILE := gms_go.mk
    + MAINLINE_MODULES_MAKEFILE := mainline_modules_low_ram.mk

  Mainline modules without updatable apex
    + MAINLINE_MODULES_MAKEFILE := mainline_modules_flatten_apex.mk

As you expect GMS to be configured the way you specified them, this
change also causes the build to error out, if a makefile can not be
included.

This excludes mainline modules to allow including GMS without using
mainline modules.

Change-Id: I0ab61449ed7cc60e72bf519f91c29712055f8a74
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
This commit is contained in:
Alexander Martinz
2022-02-09 19:45:21 +01:00
committed by Nolen Johnson
parent 43c8f40ba9
commit 2d473bc876

View File

@@ -1,20 +1,30 @@
ifeq ($(WITH_GMS),true) ifeq ($(WITH_GMS),true)
ifeq ($(WITH_GMS_TV),true) # Special handling for Android TV
$(call inherit-product, vendor/partner_gms-tv/products/gms.mk) ifeq ($(WITH_GMS_TV),true)
$(call inherit-product, vendor/partner_gms-tv/products/mainline_modules.mk) $(call inherit-product, vendor/partner_gms-tv/products/gms.mk)
else ifeq ($(WITH_GMS_FI),true) $(call inherit-product-if-exists, vendor/partner_gms-tv/products/mainline_modules.mk)
$(call inherit-product, vendor/partner_gms/products/fi.mk) else
$(call inherit-product-if-exists, vendor/partner_modules/build/mainline_modules.mk) # Specify the GMS makefile you want to use, for example:
else ifeq ($(WITH_GMS_GO),true) # - fi.mk - Project Fi
$(call inherit-product, vendor/partner_gms/products/gms_go.mk) # - gms.mk - default GMS
$(call inherit-product-if-exists, vendor/partner_modules/build/mainline_modules_s_low_ram.mk) # - gms_go.mk - low ram devices
else ifeq ($(WITH_GMS_GO_2GB),true) # - gms_go_2gb.mk - low ram devices (2GB)
$(call inherit-product, vendor/partner_gms/products/gms_go_2gb.mk) # - gms_64bit_only.mk - devices supporting 64-bit only
$(call inherit-product-if-exists, vendor/partner_modules/build/mainline_modules_s_low_ram.mk) ifneq ($(GMS_MAKEFILE),)
else ifeq ($(WITH_GMS_MINIMAL),true) $(call inherit-product, vendor/partner_gms/products/$(GMS_MAKEFILE))
$(call inherit-product, vendor/partner_gms/products/gms_minimal.mk) else
else $(call inherit-product, vendor/partner_gms/products/gms.mk)
$(call inherit-product-if-exists, vendor/partner_gms/products/gms.mk) endif
$(call inherit-product-if-exists, vendor/partner_modules/build/mainline_modules.mk)
endif # Specify the mainline module makefile you want to use, for example:
# - mainline_modules.mk - updatable apex
# - mainline_modules_flatten_apex.mk - flatten apex
# - mainline_modules_low_ram.mk - low ram devices
ifneq ($(MAINLINE_MODULES_MAKEFILE),)
$(call inherit-product, vendor/partner_modules/build/$(MAINLINE_MODULES_MAKEFILE))
else
# Do not fail if not existing, as it is valid to use GMS without mainline modules
$(call inherit-product-if-exists, vendor/partner_modules/build/mainline_modules.mk)
endif
endif
endif endif