From a98d12f8e328334c4db0796f289d8ce95d36eb59 Mon Sep 17 00:00:00 2001 From: Pig Date: Thu, 15 Oct 2020 02:58:37 +0800 Subject: [PATCH] soong: Add lineage soong config variables Ref: https://android.googlesource.com/platform/build/soong/+/refs/tags/android-11.0.0_r4#soong-config-variables Change-Id: Icaf35b65b63d4245c92e39ce628bb8d6ffd0d4bb --- build/soong/Android.bp | 383 +++++++++++++++++++++++++++++++++++++ config/BoardConfigQcom.mk | 4 - config/BoardConfigSoong.mk | 64 +++++++ 3 files changed, 447 insertions(+), 4 deletions(-) diff --git a/build/soong/Android.bp b/build/soong/Android.bp index 4e9d37b1..5076e684 100644 --- a/build/soong/Android.bp +++ b/build/soong/Android.bp @@ -1,3 +1,5 @@ +// LineageOS soong configs + bootstrap_go_package { name: "soong-lineage-generator", pkgPath: "lineage/soong/generator", @@ -46,3 +48,384 @@ cc_library_headers { vendor_available: true, recovery_available: true, } + +// Target platform agnostic config modules +soong_config_module_type { + name: "gralloc_10_usage_bits", + module_type: "cc_defaults", + config_namespace: "lineageGlobalVars", + value_variables: ["additional_gralloc_10_usage_bits"], + properties: ["cppflags"], +} + +gralloc_10_usage_bits { + name: "gralloc_10_usage_bits_defaults", + soong_config_variables: { + additional_gralloc_10_usage_bits: { + cppflags: ["-DADDNL_GRALLOC_10_USAGE_BITS=%s"], + }, + }, +} + +soong_config_module_type { + name: "target_process_sdk_version_overrides", + module_type: "cc_defaults", + config_namespace: "lineageGlobalVars", + value_variables: ["target_process_sdk_version_override"], + properties: ["cppflags"], +} + +target_process_sdk_version_overrides { + name: "process_sdk_version_overrides_defaults", + soong_config_variables: { + target_process_sdk_version_override: { + cppflags: ["-DSDK_VERSION_OVERRIDES=\"%s\""], + }, + }, +} + +soong_config_module_type { + name: "target_shim_libs", + module_type: "cc_defaults", + config_namespace: "lineageGlobalVars", + value_variables: ["target_ld_shim_libs"], + properties: ["cppflags"], +} + +target_shim_libs { + name: "shim_libs_defaults", + soong_config_variables: { + target_ld_shim_libs: { + cppflags: ["-DLD_SHIM_LIBS=\"%s\""], + }, + }, +} + +soong_config_module_type { + name: "vendor_init", + module_type: "cc_defaults", + config_namespace: "lineageGlobalVars", + value_variables: ["target_init_vendor_lib"], + properties: ["whole_static_libs"], +} + +vendor_init { + name: "vendor_init_defaults", + soong_config_variables: { + target_init_vendor_lib: { + whole_static_libs: ["%s"], + }, + }, +} + +soong_config_module_type { + name: "surfaceflinger_fod_lib", + module_type: "cc_defaults", + config_namespace: "lineageGlobalVars", + value_variables: ["target_surfaceflinger_fod_lib"], + properties: [ + "cppflags", + "whole_static_libs", + ], +} + +surfaceflinger_fod_lib { + name: "surfaceflinger_fod_lib_defaults", + soong_config_variables: { + target_surfaceflinger_fod_lib: { + cppflags: ["-DTARGET_PROVIDES_FOD_LIB"], + whole_static_libs: ["%s"], + }, + }, +} + +soong_config_module_type { + name: "ignores_ftp_pptp_conntrack_failure_defaults", + module_type: "cc_defaults", + config_namespace: "lineageGlobalVars", + bool_variables: ["ignores_ftp_pptp_conntrack_failure"], + properties: ["cppflags"], +} + +ignores_ftp_pptp_conntrack_failure_defaults { + name: "ignores_ftp_pptp_conntrack_failure", + soong_config_variables: { + ignores_ftp_pptp_conntrack_failure: { + cppflags: ["DIGNORES_FTP_PPTP_CONNTRACK_FAILURE"], + }, + }, +} + +soong_config_module_type { + name: "needs_netd_direct_connect_rule", + module_type: "cc_defaults", + config_namespace: "lineageGlobalVars", + bool_variables: ["needs_netd_direct_connect_rule"], + properties: ["cppflags"], +} + +needs_netd_direct_connect_rule { + name: "needs_netd_direct_connect_rule_defaults", + soong_config_variables: { + needs_netd_direct_connect_rule: { + cppflags: ["-DNEEDS_NETD_DIRECT_CONNECT_RULE"], + }, + }, +} + +soong_config_module_type { + name: "no_cameraserver", + module_type: "cc_defaults", + config_namespace: "lineageGlobalVars", + bool_variables: ["has_legacy_camera_hal1"], + properties: [ + "cppflags", + ], +} + +no_cameraserver { + name: "no_cameraserver_defaults", + soong_config_variables: { + has_legacy_camera_hal1: { + cppflags: [ + "-DNO_CAMERA_SERVER", + "-Wno-overloaded-virtual", + ], + }, + }, +} + +soong_config_module_type { + name: "camera_in_mediaserver", + module_type: "cc_defaults", + config_namespace: "lineageGlobalVars", + bool_variables: ["has_legacy_camera_hal1"], + properties: [ + "overrides", + "shared_libs", + ], +} + +camera_in_mediaserver { + name: "camera_in_mediaserver_defaults", + defaults: ["no_cameraserver_defaults"], + soong_config_variables: { + has_legacy_camera_hal1: { + overrides: ["cameraserver"], + shared_libs: [ + "android.hardware.camera.common@1.0", + "android.hardware.camera.device@3.4", + "android.hardware.camera.provider@2.6", + "libcameraservice", + "libgui", + ], + }, + }, +} + +soong_config_module_type { + name: "bootloader_message_offset", + module_type: "cc_defaults", + config_namespace: "lineageGlobalVars", + value_variables: ["bootloader_message_offset"], + properties: ["cflags"], +} + +bootloader_message_offset { + name: "bootloader_message_offset_defaults", + soong_config_variables: { + bootloader_message_offset: { + cflags: ["-DBOARD_RECOVERY_BLDRMSG_OFFSET=%s"], + }, + }, +} + +soong_config_module_type { + name: "camera_parameter_library", + module_type: "cc_defaults", + config_namespace: "lineageGlobalVars", + value_variables: ["uses_camera_parameter_lib"], + properties: ["whole_static_libs"], +} + +camera_parameter_library { + name: "camera_parameter_library_defaults", + soong_config_variables: { + uses_camera_parameter_lib: { + whole_static_libs: ["%s"], + }, + }, +} + +// NVIDIA specific config modules +soong_config_module_type { + name: "nvidia_enhancements", + module_type: "cc_defaults", + config_namespace: "lineageNvidiaVars", + bool_variables: ["uses_nvidia_enhancements"], + properties: ["cppflags"], +} + +nvidia_enhancements { + name: "nvidia_enhancements_defaults", + soong_config_variables: { + uses_nvidia_enhancements: { + cppflags: ["-DNV_ANDROID_FRAMEWORK_ENHANCEMENTS"], + }, + }, +} + +// QCOM specific config modules +soong_config_module_type { + name: "librmnetctl_pre_uplink", + module_type: "cc_defaults", + config_namespace: "lineageQcomVars", + bool_variables: ["uses_pre_uplink_features_netmgrd"], + properties: ["cflags"], +} + +librmnetctl_pre_uplink { + name: "librmnetctl_pre_uplink_defaults", + soong_config_variables: { + uses_pre_uplink_features_netmgrd: { + cflags: ["-DNO_UPLINK_FEATURES"], + }, + }, +} + +soong_config_module_type { + name: "qti_camera_device", + module_type: "cc_defaults", + config_namespace: "lineageQcomVars", + bool_variables: ["uses_qti_camera_device"], + properties: [ + "cppflags", + "shared_libs", + ], +} + +qti_camera_device { + name: "qti_camera_device_defaults", + soong_config_variables: { + uses_qti_camera_device: { + cppflags: ["-DQTI_CAMERA_DEVICE"], + shared_libs: ["vendor.qti.hardware.camera.device@1.0"], + }, + }, +} + +soong_config_module_type { + name: "extended_compress_format", + module_type: "cc_defaults", + config_namespace: "lineageQcomVars", + bool_variables: ["supports_extended_compress_format"], + properties: ["cflags"], +} + +extended_compress_format { + name: "extended_compress_format_defaults", + soong_config_variables: { + supports_extended_compress_format: { + cflags: ["-DENABLE_EXTENDED_COMPRESS_FORMAT"], + }, + }, +} + +soong_config_module_type { + name: "vold_hw_fde", + module_type: "cc_defaults", + config_namespace: "lineageQcomVars", + bool_variables: ["supports_hw_fde"], + properties: [ + "cflags", + "header_libs", + "shared_libs", + ], +} + +vold_hw_fde { + name: "vold_hw_fde_defaults", + soong_config_variables: { + supports_hw_fde: { + cflags: ["-DCONFIG_HW_DISK_ENCRYPTION"], + header_libs: ["libcryptfs_hw_headers"], + shared_libs: ["libcryptfs_hw"], + }, + }, +} + +soong_config_module_type { + name: "vold_hw_fde_perf", + module_type: "cc_defaults", + config_namespace: "lineageQcomVars", + bool_variables: ["supports_hw_fde_perf"], + properties: [ + "cflags", + "shared_libs", + ], +} + +vold_hw_fde_perf { + name: "vold_hw_fde_perf_defaults", + soong_config_variables: { + supports_hw_fde_perf: { + cflags: ["-DCONFIG_HW_DISK_ENCRYPT_PERF"], + shared_libs: ["libcryptfs_hw"], + }, + }, +} + +soong_config_module_type { + name: "qti_cryptfshw_qsee", + module_type: "cc_defaults", + config_namespace: "lineageQcomVars", + bool_variables: ["should_wait_for_qsee"], + properties: ["cflags"], +} + +qti_cryptfshw_qsee { + name: "qti_cryptfshw_qsee_defaults", + soong_config_variables: { + should_wait_for_qsee: { + cflags: ["-DWAIT_FOR_QSEE"], + }, + }, +} + +soong_config_module_type { + name: "surfaceflinger_qcom_extensions", + module_type: "cc_defaults", + config_namespace: "lineageQcomVars", + value_variables: ["qcom_soong_namespace"], + properties: [ + "cppflags", + "header_libs", + ], +} + +surfaceflinger_qcom_extensions { + name: "surfaceflinger_qcom_ext_defaults", + soong_config_variables: { + qcom_soong_namespace: { + cppflags: ["-DQCOM_UM_FAMILY"], + header_libs: ["//%s/display:display_intf_headers"], + }, + }, +} + +soong_config_module_type { + name: "stagefright_qcom_legacy", + module_type: "cc_defaults", + config_namespace: "lineageQcomVars", + bool_variables: ["uses_qcom_bsp_legacy"], + properties: ["cppflags"], +} + +stagefright_qcom_legacy { + name: "stagefright_qcom_legacy_defaults", + soong_config_variables: { + uses_qcom_bsp_legacy: { + cppflags: ["-DQCOM_BSP_LEGACY"], + }, + }, +} diff --git a/config/BoardConfigQcom.mk b/config/BoardConfigQcom.mk index 126d7684..924fad5b 100644 --- a/config/BoardConfigQcom.mk +++ b/config/BoardConfigQcom.mk @@ -96,7 +96,3 @@ endif # Allow a device to opt-out hardset of PRODUCT_SOONG_NAMESPACES QCOM_SOONG_NAMESPACE ?= hardware/qcom-caf/$(QCOM_HARDWARE_VARIANT) PRODUCT_SOONG_NAMESPACES += $(QCOM_SOONG_NAMESPACE) - -SOONG_CONFIG_NAMESPACES += DATASERVICES -SOONG_CONFIG_DATASERVICES += USES_PRE_UPLINK_FEATURES_NETMGRD -SOONG_CONFIG_DATASERVICES_USES_PRE_UPLINK_FEATURES_NETMGRD := $(TARGET_USES_PRE_UPLINK_FEATURES_NETMGRD) diff --git a/config/BoardConfigSoong.mk b/config/BoardConfigSoong.mk index 2e1641ae..4eaa6833 100644 --- a/config/BoardConfigSoong.mk +++ b/config/BoardConfigSoong.mk @@ -25,3 +25,67 @@ define addVar endef $(foreach v,$(EXPORT_TO_SOONG),$(eval $(call addVar,$(v)))) + +SOONG_CONFIG_NAMESPACES += lineageGlobalVars +SOONG_CONFIG_lineageGlobalVars += \ + additional_gralloc_10_usage_bits \ + bootloader_message_offset \ + has_legacy_camera_hal1 \ + ignores_ftp_pptp_conntrack_failure \ + needs_netd_direct_connect_rule \ + target_init_vendor_lib \ + target_ld_shim_libs \ + target_process_sdk_version_override \ + target_surfaceflinger_fod_lib \ + uses_camera_parameter_lib + +SOONG_CONFIG_NAMESPACES += lineageNvidiaVars +SOONG_CONFIG_lineageNvidiaVars += \ + uses_nv_enhancements + +SOONG_CONFIG_NAMESPACES += lineageQcomVars +SOONG_CONFIG_lineageQcomVars += \ + should_wait_for_qsee \ + supports_extended_compress_format \ + supports_hw_fde \ + supports_hw_fde_perf \ + uses_pre_uplink_features_netmgrd \ + uses_qcom_bsp_legacy \ + uses_qti_camera_device + +# Only create soong_namespace var if dealing with UM platforms to avoid breaking build for all other platforms +ifneq ($(filter $(UM_PLATFORMS),$(TARGET_BOARD_PLATFORM)),) +SOONG_CONFIG_lineageQcomVars += \ + qcom_soong_namespace +endif + +# Soong bool variables +SOONG_CONFIG_lineageGlobalVars_has_legacy_camera_hal1 := $(TARGET_HAS_LEGACY_CAMERA_HAL1) +SOONG_CONFIG_lineageGlobalVars_ignores_ftp_pptp_conntrack_failure := $(TARGET_IGNORES_FTP_PPTP_CONNTRACK_FAILURE) +SOONG_CONFIG_lineageGlobalVars_needs_netd_direct_connect_rule := $(TARGET_NEEDS_NETD_DIRECT_CONNECT_RULE) +SOONG_CONFIG_lineageNvidiaVars_uses_nv_enhancements := $(NV_ANDROID_FRAMEWORK_ENHANCEMENTS) +SOONG_CONFIG_lineageQcomVars_should_wait_for_qsee := $(TARGET_KEYMASTER_WAIT_FOR_QSEE) +SOONG_CONFIG_lineageQcomVars_supports_extended_compress_format := $(AUDIO_FEATURE_ENABLED_EXTENDED_COMPRESS_FORMAT) +SOONG_CONFIG_lineageQcomVars_supports_hw_fde := $(TARGET_HW_DISK_ENCRYPTION) +SOONG_CONFIG_lineageQcomVars_supports_hw_fde_perf := $(TARGET_HW_DISK_ENCRYPTION_PERF) +SOONG_CONFIG_lineageQcomVars_uses_pre_uplink_features_netmgrd := $(TARGET_USES_PRE_UPLINK_FEATURES_NETMGRD) +SOONG_CONFIG_lineageQcomVars_uses_qcom_bsp_legacy := $(TARGET_USES_QCOM_BSP_LEGACY) +SOONG_CONFIG_lineageQcomVars_uses_qti_camera_device := $(TARGET_USES_QTI_CAMERA_DEVICE) + +# Set default values +BOOTLOADER_MESSAGE_OFFSET ?= 0 +TARGET_INIT_VENDOR_LIB ?= vendor_init +TARGET_SPECIFIC_CAMERA_PARAMETER_LIBRARY ?= libcamera_parameters +TARGET_SURFACEFLINGER_FOD_LIB ?= surfaceflinger_fod_lib + +# Soong value variables +SOONG_CONFIG_lineageGlobalVars_additional_gralloc_10_usage_bits := $(TARGET_ADDITIONAL_GRALLOC_10_USAGE_BITS) +SOONG_CONFIG_lineageGlobalVars_bootloader_message_offset := $(BOOTLOADER_MESSAGE_OFFSET) +SOONG_CONFIG_lineageGlobalVars_target_init_vendor_lib := $(TARGET_INIT_VENDOR_LIB) +SOONG_CONFIG_lineageGlobalVars_target_ld_shim_libs := $(subst $(space),:,$(TARGET_LD_SHIM_LIBS)) +SOONG_CONFIG_lineageGlobalVars_target_process_sdk_version_override := $(TARGET_PROCESS_SDK_VERSION_OVERRIDE) +SOONG_CONFIG_lineageGlobalVars_target_surfaceflinger_fod_lib := $(TARGET_SURFACEFLINGER_FOD_LIB) +SOONG_CONFIG_lineageGlobalVars_uses_camera_parameter_lib := $(TARGET_SPECIFIC_CAMERA_PARAMETER_LIBRARY) +ifneq ($(filter $(UM_PLATFORMS),$(TARGET_BOARD_PLATFORM)),) +SOONG_CONFIG_lineageQcomVars_qcom_soong_namespace := $(QCOM_SOONG_NAMESPACE) +endif