| // |
| // Copyright (C) 2022-2024 The LeafOS Project |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| // |
| |
| bootstrap_go_package { |
| name: "soong-leaf-generator", |
| pkgPath: "leaf/soong/generator", |
| deps: [ |
| "blueprint", |
| "blueprint-pathtools", |
| "soong", |
| "soong-android", |
| "soong-shared", |
| ], |
| srcs: [ |
| "generator/generator.go", |
| "generator/variables.go", |
| ], |
| pluginFor: ["soong_build"], |
| } |
| |
| leaf_generator { |
| name: "generated_kernel_includes", |
| |
| // The headers make command |
| cmd: "$(PATH_OVERRIDE_SOONG) $(KERNEL_MAKE_CMD) $(KERNEL_MAKE_FLAGS) -C $(TARGET_KERNEL_SOURCE) O=$(KERNEL_BUILD_OUT_PREFIX)$(genDir) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) headers_install && vendor/leaf/tools/clean_headers.sh $(KERNEL_BUILD_OUT_PREFIX)$(genDir)", |
| |
| // Directories that can be imported by a cc_* module generated_headers property |
| export_include_dirs: [ |
| "usr/audio/include/uapi", |
| "usr/include", |
| "usr/include/audio", |
| "usr/include/audio/include/uapi", |
| "usr/techpack/audio/include", |
| ], |
| |
| // Sources for dependency tracking |
| dep_root: "$(TARGET_KERNEL_SOURCE)", |
| dep_files: [ |
| "Makefile", |
| "include/**/*", |
| "arch/$(KERNEL_ARCH)/include/**/*", |
| "techpack/audio/include/**/*", |
| ], |
| } |
| |
| genrule_defaults { |
| name: "7z_genrule_defaults", |
| tools: ["7z"], |
| cmd: "$(location 7z) e -so $$(echo $(in) | cut -f1 -d ' ') > $(out)", |
| } |
| |
| cc_library_headers { |
| name: "generated_kernel_headers", |
| generated_headers: ["generated_kernel_includes"], |
| export_generated_headers: ["generated_kernel_includes"], |
| vendor_available: true, |
| recovery_available: true, |
| } |
| |
| soong_config_module_type { |
| name: "aapt_version_code", |
| module_type: "java_defaults", |
| config_namespace: "leafGlobalVars", |
| value_variables: ["aapt_version_code"], |
| properties: ["aaptflags"], |
| } |
| |
| aapt_version_code { |
| name: "aapt_version_code_defaults", |
| soong_config_variables: { |
| aapt_version_code: { |
| aaptflags: [ |
| "--version-code", |
| "%s", |
| ], |
| }, |
| }, |
| } |
| |
| soong_config_module_type { |
| name: "vendor_init", |
| module_type: "cc_defaults", |
| config_namespace: "leafGlobalVars", |
| 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: "health_charging_control", |
| module_type: "cc_defaults", |
| config_namespace: "leafGlobalVars", |
| bool_variables: [ |
| "target_health_charging_control_supports_toggle", |
| "target_health_charging_control_supports_bypass", |
| "target_health_charging_control_supports_deadline", |
| ], |
| value_variables: [ |
| "target_health_charging_control_charging_path", |
| "target_health_charging_control_charging_enabled", |
| "target_health_charging_control_charging_disabled", |
| "target_health_charging_control_deadline_path", |
| ], |
| properties: ["cppflags"], |
| } |
| |
| health_charging_control { |
| name: "health_charging_control_defaults", |
| soong_config_variables: { |
| target_health_charging_control_supports_toggle: { |
| cppflags: ["-DHEALTH_CHARGING_CONTROL_SUPPORTS_TOGGLE"], |
| }, |
| target_health_charging_control_supports_bypass: { |
| cppflags: ["-DHEALTH_CHARGING_CONTROL_SUPPORTS_BYPASS"], |
| }, |
| target_health_charging_control_supports_deadline: { |
| cppflags: ["-DHEALTH_CHARGING_CONTROL_SUPPORTS_DEADLINE"], |
| }, |
| target_health_charging_control_charging_path: { |
| cppflags: ["-DHEALTH_CHARGING_CONTROL_CHARGING_PATH=\"%s\""], |
| }, |
| target_health_charging_control_charging_enabled: { |
| cppflags: ["-DHEALTH_CHARGING_CONTROL_CHARGING_ENABLED=\"%s\""], |
| }, |
| target_health_charging_control_charging_disabled: { |
| cppflags: ["-DHEALTH_CHARGING_CONTROL_CHARGING_DISABLED=\"%s\""], |
| }, |
| target_health_charging_control_deadline_path: { |
| cppflags: ["-DHEALTH_CHARGING_CONTROL_DEADLINE_PATH=\"%s\""], |
| }, |
| }, |
| } |
| |
| soong_config_module_type { |
| name: "bootloader_message_offset", |
| module_type: "cc_defaults", |
| config_namespace: "leafGlobalVars", |
| value_variables: ["bootloader_message_offset"], |
| properties: [ |
| "cflags", |
| "export_cflags", |
| ], |
| } |
| |
| bootloader_message_offset { |
| name: "bootloader_message_offset_defaults", |
| soong_config_variables: { |
| bootloader_message_offset: { |
| cflags: ["-DBOARD_RECOVERY_BLDRMSG_OFFSET=%s"], |
| export_cflags: ["-DBOARD_RECOVERY_BLDRMSG_OFFSET=%s"], |
| }, |
| }, |
| } |
| |
| // QCOM specific config modules |
| soong_config_module_type { |
| name: "librmnetctl_pre_uplink", |
| module_type: "cc_defaults", |
| config_namespace: "leafQcomVars", |
| 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: "extended_compress_format", |
| module_type: "cc_defaults", |
| config_namespace: "leafQcomVars", |
| 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: "surfaceflinger_qcom_extensions", |
| module_type: "cc_defaults", |
| config_namespace: "leafQcomVars", |
| value_variables: ["qcom_display_headers_namespace"], |
| properties: [ |
| "cppflags", |
| "header_libs", |
| ], |
| } |
| |
| surfaceflinger_qcom_extensions { |
| name: "surfaceflinger_qcom_ext_defaults", |
| soong_config_variables: { |
| qcom_display_headers_namespace: { |
| cppflags: ["-DQCOM_UM_FAMILY"], |
| header_libs: ["//%s:display_intf_headers"], |
| }, |
| }, |
| } |
| |
| soong_config_module_type { |
| name: "gralloc_handle_custom_content_md_reserved_size", |
| module_type: "cc_defaults", |
| config_namespace: "leafQcomVars", |
| bool_variables: ["gralloc_handle_has_custom_content_md_reserved_size"], |
| properties: ["export_cflags"], |
| } |
| |
| gralloc_handle_custom_content_md_reserved_size { |
| name: "gralloc_handle_has_custom_content_md_reserved_size_defaults", |
| soong_config_variables: { |
| gralloc_handle_has_custom_content_md_reserved_size: { |
| export_cflags: ["-DGRALLOC_HANDLE_HAS_CUSTOM_CONTENT_MD_RESERVED_SIZE"], |
| }, |
| }, |
| } |
| |
| soong_config_module_type { |
| name: "gralloc_handle_reserved_size", |
| module_type: "cc_defaults", |
| config_namespace: "leafQcomVars", |
| bool_variables: ["gralloc_handle_has_reserved_size"], |
| properties: ["export_cflags"], |
| } |
| |
| gralloc_handle_reserved_size { |
| name: "gralloc_handle_has_reserved_size_defaults", |
| soong_config_variables: { |
| gralloc_handle_has_reserved_size: { |
| export_cflags: ["-DGRALLOC_HANDLE_HAS_RESERVED_SIZE"], |
| }, |
| }, |
| } |
| |
| soong_config_module_type { |
| name: "gralloc_handle_ubwcp_format", |
| module_type: "cc_defaults", |
| config_namespace: "leafQcomVars", |
| bool_variables: ["gralloc_handle_has_ubwcp_format"], |
| properties: ["export_cflags"], |
| } |
| |
| gralloc_handle_ubwcp_format { |
| name: "gralloc_handle_has_ubwcp_format_defaults", |
| soong_config_variables: { |
| gralloc_handle_has_ubwcp_format: { |
| export_cflags: ["-DGRALLOC_HANDLE_HAS_UBWCP_FORMAT"], |
| }, |
| }, |
| } |
| |
| soong_config_module_type { |
| name: "qti_vibrator_hal", |
| module_type: "cc_defaults", |
| config_namespace: "leafQcomVars", |
| bool_variables: ["qti_vibrator_use_effect_stream"], |
| value_variables: ["qti_vibrator_effect_lib"], |
| properties: [ |
| "cppflags", |
| "shared_libs", |
| ], |
| } |
| |
| qti_vibrator_hal { |
| name: "qti_vibrator_hal_defaults", |
| soong_config_variables: { |
| qti_vibrator_use_effect_stream: { |
| cppflags: ["-DUSE_EFFECT_STREAM"], |
| }, |
| qti_vibrator_effect_lib: { |
| shared_libs: ["%s"], |
| }, |
| }, |
| } |
| |
| soong_config_module_type { |
| name: "sdmcore_has_is_display_hw_available", |
| module_type: "cc_defaults", |
| config_namespace: "leafQcomVars", |
| bool_variables: ["sdmcore_has_is_display_hw_available_func"], |
| properties: ["cflags"], |
| } |
| |
| sdmcore_has_is_display_hw_available { |
| name: "sdmcore_has_is_display_hw_available_func_defaults", |
| soong_config_variables: { |
| sdmcore_has_is_display_hw_available_func: { |
| cflags: ["-DSDMCORE_HAS_IS_DISPLAY_HW_AVAILABLE_FUNC"], |
| }, |
| }, |
| } |
| |
| soong_config_module_type { |
| name: "power_libperfmgr", |
| module_type: "cc_defaults", |
| config_namespace: "leafGlobalVars", |
| value_variables: ["target_power_libperfmgr_mode_extension_lib"], |
| properties: [ |
| "whole_static_libs", |
| ], |
| } |
| |
| power_libperfmgr { |
| name: "power_libperfmgr_defaults", |
| soong_config_variables: { |
| target_power_libperfmgr_mode_extension_lib: { |
| whole_static_libs: ["%s"], |
| }, |
| }, |
| } |
| |
| soong_config_module_type { |
| name: "surfaceflinger_udfps_lib", |
| module_type: "cc_defaults", |
| config_namespace: "leafGlobalVars", |
| value_variables: ["target_surfaceflinger_udfps_lib"], |
| properties: [ |
| "cppflags", |
| "whole_static_libs", |
| ], |
| } |
| |
| surfaceflinger_udfps_lib { |
| name: "surfaceflinger_udfps_lib_defaults", |
| soong_config_variables: { |
| target_surfaceflinger_udfps_lib: { |
| cppflags: ["-DTARGET_PROVIDES_UDFPS_LIB"], |
| whole_static_libs: ["%s"], |
| }, |
| }, |
| } |
| |
| soong_config_module_type { |
| name: "trust_usb_control", |
| module_type: "cc_defaults", |
| config_namespace: "leafGlobalVars", |
| value_variables: [ |
| "target_trust_usb_control_path", |
| "target_trust_usb_control_enable", |
| "target_trust_usb_control_disable", |
| ], |
| properties: ["cppflags"], |
| } |
| |
| trust_usb_control { |
| name: "trust_usb_control_defaults", |
| soong_config_variables: { |
| target_trust_usb_control_path: { |
| cppflags: ["-DUSB_CONTROL_PATH=\"%s\""], |
| }, |
| target_trust_usb_control_enable: { |
| cppflags: ["-DUSB_CONTROL_ENABLE=\"%s\""], |
| }, |
| target_trust_usb_control_disable: { |
| cppflags: ["-DUSB_CONTROL_DISABLE=\"%s\""], |
| }, |
| }, |
| } |