soong: Add omni soong config variables
Ref: https://android.googlesource.com/platform/build/soong/+/refs/tags/android-11.0.0_r4#soong-config-variables
Change-Id: Icaf35b65b63d4245c92e39ce628bb8d6ffd0d4bb
diff --git a/build/soong/Android.bp b/build/soong/Android.bp
index ba8c782..8c13e12 100644
--- a/build/soong/Android.bp
+++ b/build/soong/Android.bp
@@ -1,3 +1,5 @@
+// Omni soong configs
+
bootstrap_go_package {
name: "soong-omnirom-generator",
pkgPath: "omnirom/soong/generator",
@@ -36,3 +38,237 @@
vendor_available: true,
recovery_available: true,
}
+
+soong_config_module_type {
+ name: "vendor_init",
+ module_type: "cc_defaults",
+ config_namespace: "omniGlobalVars",
+ value_variables: ["target_init_vendor_lib"],
+ bool_variables: ["target_create_device_symlinks"],
+ properties: [
+ "cflags",
+ "whole_static_libs",
+ ],
+}
+
+vendor_init {
+ name: "vendor_init_defaults",
+ soong_config_variables: {
+ target_init_vendor_lib: {
+ whole_static_libs: ["%s"],
+ },
+ target_create_device_symlinks: {
+ cflags: ["-DTARGET_CREATE_DEVICE_SYMLINKS"],
+ },
+ },
+}
+
+soong_config_module_type {
+ name: "surfaceflinger_fod_lib",
+ module_type: "cc_defaults",
+ config_namespace: "omniGlobalVars",
+ 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: "use_sdclang",
+ module_type: "cc_defaults",
+ config_namespace: "omniGlobalVars",
+ bool_variables: ["target_use_sdclang"],
+ properties: [
+ "cppflags",
+ ],
+}
+
+use_sdclang {
+ name: "use_sdclang_defaults",
+ soong_config_variables: {
+ target_use_sdclang: {
+ cppflags: ["-DTARGET_USE_SDCLANG"],
+ },
+ },
+}
+
+soong_config_module_type {
+ name: "camera_client_info",
+ module_type: "cc_defaults",
+ config_namespace: "omniGlobalVars",
+ bool_variables: ["target_camera_needs_client_info"],
+ properties: [
+ "cppflags",
+ ],
+}
+
+camera_client_info {
+ name: "camera_client_info_defaults",
+ soong_config_variables: {
+ target_camera_needs_client_info: {
+ cppflags: ["-DTARGET_CAMERA_NEEDS_CLIENT_INFO"],
+ },
+ },
+}
+
+soong_config_module_type {
+ name: "enforce_ab_ota_partition_list",
+ module_type: "cc_defaults",
+ config_namespace: "omniGlobalVars",
+ bool_variables: ["target_enforce_ab_ota_partition_list"],
+ properties: [
+ "cppflags",
+ ],
+}
+
+enforce_ab_ota_partition_list {
+ name: "enforce_ab_ota_partition_list_defaults",
+ soong_config_variables: {
+ target_enforce_ab_ota_partition_list: {
+ cppflags: ["-DTARGET_ENFORCE_AB_OTA_PARTITION_LIST"],
+ },
+ },
+}
+
+soong_config_module_type {
+ name: "enable_op_fastchg",
+ module_type: "cc_defaults",
+ config_namespace: "omniGlobalVars",
+ bool_variables: ["healthd_enable_op_fastchg"],
+ properties: ["cflags"],
+}
+
+enable_op_fastchg {
+ name: "enable_op_fastchg_defaults",
+ soong_config_variables: {
+ healthd_enable_op_fastchg: {
+ cflags: ["-DHEALTHD_ENABLE_OP_FASTCHG_CHECK"],
+ },
+ },
+}
+
+soong_config_module_type {
+ name: "use_battery_info",
+ module_type: "cc_defaults",
+ config_namespace: "omniGlobalVars",
+ bool_variables: ["healthd_use_battery_info"],
+ properties: ["cflags"],
+}
+
+use_battery_info {
+ name: "use_battery_info_defaults",
+ soong_config_variables: {
+ healthd_use_battery_info: {
+ cflags: ["-DHEALTHD_USE_BATTERY_INFO"],
+ },
+ },
+}
+
+soong_config_module_type {
+ name: "needsHWCOnFirstRef",
+ module_type: "cc_defaults",
+ config_namespace: "omniGlobalVars",
+ bool_variables: ["targetNeedsHWCOnFirstRef"],
+ properties: ["cppflags"],
+}
+
+needsHWCOnFirstRef {
+ name: "needsHWCOnFirstRef_defaults",
+ soong_config_variables: {
+ targetNeedsHWCOnFirstRef: {
+ cppflags: ["-DTARGET_NEEDS_HWC_ONFIRSTREF"],
+ },
+ },
+}
+
+// QCOM specific config modules
+soong_config_module_type {
+ name: "metadata_fde_key",
+ module_type: "cc_defaults",
+ config_namespace: "omniQcomVars",
+ bool_variables: ["uses_metadata_as_fde_key"],
+ properties: [
+ "cppflags",
+ ],
+}
+
+metadata_fde_key {
+ name: "metadata_fde_key_defaults",
+ soong_config_variables: {
+ uses_metadata_as_fde_key: {
+ cppflags: ["-DTARGET_USES_METADATA_AS_FDE_KEY"],
+ },
+ },
+}
+
+soong_config_module_type {
+ name: "enable_tricolor_led",
+ module_type: "cc_defaults",
+ config_namespace: "omniQcomVars",
+ bool_variables: ["healthd_enable_tricolor_led"],
+ properties: ["cflags"],
+}
+
+enable_tricolor_led {
+ name: "enable_tricolor_led_defaults",
+ soong_config_variables: {
+ healthd_enable_tricolor_led: {
+ cflags: ["-DHEALTHD_ENABLE_TRICOLOR_LED"],
+ },
+ },
+}
+
+soong_config_module_type {
+ name: "vold_hw_fde",
+ module_type: "cc_defaults",
+ config_namespace: "omniQcomVars",
+ 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: "omniQcomVars",
+ 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"],
+ },
+ },
+}
diff --git a/config/BoardConfigSoong.mk b/config/BoardConfigSoong.mk
index 43b4ca8..5d696ca 100644
--- a/config/BoardConfigSoong.mk
+++ b/config/BoardConfigSoong.mk
@@ -26,3 +26,43 @@
endef
$(foreach v,$(EXPORT_TO_SOONG),$(eval $(call addVar,$(v))))
+
+SOONG_CONFIG_NAMESPACES += omniGlobalVars
+SOONG_CONFIG_omniGlobalVars += \
+ target_create_device_symlinks \
+ target_init_vendor_lib \
+ target_surfaceflinger_fod_lib \
+ healthd_use_battery_info \
+ healthd_enable_op_fastchg \
+ targetNeedsHWCOnFirstRef \
+ uses_metadata_as_fde_key \
+ target_use_sdclang \
+ target_camera_needs_client_info \
+ target_enforce_ab_ota_partition_list
+
+SOONG_CONFIG_NAMESPACES += omniQcomVars
+SOONG_CONFIG_omniQcomVars += \
+ healthd_enable_tricolor_led \
+ supports_hw_fde \
+ supports_hw_fde_perf
+
+# Soong bool variables
+SOONG_CONFIG_omniQcomVars_healthd_enable_tricolor_led := $(HEALTHD_ENABLE_TRICOLOR_LED)
+SOONG_CONFIG_omniQcomVars_supports_hw_fde := $(TARGET_HW_DISK_ENCRYPTION)
+SOONG_CONFIG_omniQcomVars_supports_hw_fde_perf := $(TARGET_HW_DISK_ENCRYPTION_PERF)
+SOONG_CONFIG_omniGlobalVars_healthd_use_battery_info := $(HEALTHD_USE_BATTERY_INFO)
+SOONG_CONFIG_omniGlobalVars_healthd_enable_op_fastchg := $(HEALTHD_ENABLE_OP_FASTCHG_CHECK)
+SOONG_CONFIG_omniGlobalVars_targetNeedsHWCOnFirstRef := $(TARGET_NEEDS_HWC_ONFIRSTREF)
+SOONG_CONFIG_omniGlobalVars_uses_metadata_as_fde_key := $(TARGET_USES_METADATA_AS_FDE_KEY)
+SOONG_CONFIG_omniGlobalVars_target_use_sdclang := $(TARGET_USE_SDCLANG)
+SOONG_CONFIG_omniGlobalVars_target_camera_needs_client_info := $(TARGET_CAMERA_NEEDS_CLIENT_INFO)
+SOONG_CONFIG_omniGlobalVars_target_enforce_ab_ota_partition_list := $(TARGET_ENFORCE_AB_OTA_PARTITION_LIST)
+SOONG_CONFIG_omniGlobalVars_target_create_device_symlinks := $(TARGET_CREATE_DEVICE_SYMLINKS)
+
+# Set default values
+TARGET_INIT_VENDOR_LIB ?= vendor_init
+TARGET_SURFACEFLINGER_FOD_LIB ?= surfaceflinger_fod_lib
+
+# Soong value variables
+SOONG_CONFIG_omniGlobalVars_target_init_vendor_lib := $(TARGET_INIT_VENDOR_LIB)
+SOONG_CONFIG_omniGlobalVars_target_surfaceflinger_fod_lib := $(TARGET_SURFACEFLINGER_FOD_LIB)