// LineageOS soong configs bootstrap_go_package { name: "soong-lineage-generator", pkgPath: "lineage/soong/generator", deps: [ "blueprint", "blueprint-pathtools", "soong", "soong-android", "soong-shared", ], srcs: [ "generator/generator.go", "generator/variables.go", ], pluginFor: ["soong_build"], } lineage_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", // Directories that can be imported by a cc_* module generated_headers property export_include_dirs: [ "usr/audio/include/uapi", "usr/include", "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/**/*", ], } cc_library_headers { name: "generated_kernel_headers", generated_headers: ["generated_kernel_includes"], export_generated_headers: ["generated_kernel_includes"], vendor_available: true, recovery_available: true, } // Target platform agnostic config modules soong_config_module_type { name: "disable_postrender_cleanup", module_type: "cc_defaults", config_namespace: "lineageGlobalVars", bool_variables: ["disable_postrender_cleanup"], properties: ["cppflags"], } disable_postrender_cleanup { name: "disable_postrender_cleanup_defaults", soong_config_variables: { disable_postrender_cleanup: { cppflags: ["-DDISABLE_POSTRENDER_CLEANUP"], }, }, } 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: "legacy_hw_disk_encryption", module_type: "cc_defaults", config_namespace: "lineageQcomVars", bool_variables: ["legacy_hw_disk_encryption"], properties: ["cppflags"], } legacy_hw_disk_encryption { name: "legacy_hw_disk_encryption_defaults", soong_config_variables: { legacy_hw_disk_encryption: { cppflags: ["-DLEGACY_HW_DISK_ENCRYPTION"], }, }, } 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: "has_memfd_backport", module_type: "cc_defaults", config_namespace: "lineageGlobalVars", bool_variables: ["has_memfd_backport"], properties: ["cppflags"], } has_memfd_backport { name: "has_memfd_backport_defaults", soong_config_variables: { has_memfd_backport: { cppflags: ["-DHAS_MEMFD_BACKPORT"], }, }, } soong_config_module_type { name: "bootloader_message_offset", module_type: "cc_defaults", config_namespace: "lineageGlobalVars", 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"], }, }, } 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: "qti_usb_hal_supported_modes", module_type: "cc_defaults", config_namespace: "lineageQcomVars", bool_variables: ["supports_audio_accessory", "supports_debug_accessory"], properties: [ "cppflags", ], } qti_usb_hal_supported_modes { name: "qti_usb_hal_supported_modes_defaults", soong_config_variables: { supports_audio_accessory: { cppflags: ["-DSUPPORTS_AUDIO_ACCESSORY"], }, supports_debug_accessory: { cppflags: ["-DSUPPORTS_DEBUG_ACCESSORY"], }, }, } 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_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: "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"], }, }, }