1project( 2 'drm_hwcomposer', 3 ['c', 'cpp'], 4 version : '3', 5 license : 'APACHE-2.0', 6 meson_version : '>= 0.56', 7 default_options : ['buildtype=debugoptimized', 'b_ndebug=if-release', 'c_std=c11', 'cpp_std=c++17', 'cpp_rtti=false'] 8) 9 10inc_include = [include_directories('.')] 11 12src_common = files( 13 'compositor/DrmKmsPlan.cpp', 14 'compositor/FlatteningController.cpp', 15 'backend/BackendManager.cpp', 16 'backend/Backend.cpp', 17 'backend/BackendClient.cpp', 18 'utils/fd.cpp', 19 'utils/LibdisplayEdidWrapper.cpp', 20 'utils/properties.cpp', 21) 22 23srcs_hwc2_device = [ 24 'hwc2_device/hwc2_device.cpp', 25 'hwc2_device/DrmHwcTwo.cpp', 26 'hwc2_device/HwcDisplayConfigs.cpp', 27 'hwc2_device/HwcDisplay.cpp', 28 'hwc2_device/HwcLayer.cpp', 29] 30 31deps = [ 32 dependency('cutils'), 33 dependency('drm'), 34 dependency('hardware'), 35 dependency('hidlbase'), 36 dependency('log'), 37 dependency('sync'), 38 dependency('ui'), 39 dependency('utils'), 40 dependency('aidlcommonsupport'), 41 dependency('android.hardware.graphics.composer@2.1-resources'), 42 dependency('android.hardware.graphics.composer@2.2-resources'), 43] 44 45common_cpp_flags = [ 46 '-DUSE_IMAPPER4_METADATA_API', 47] 48 49dep_libdisplay_info = dependency('display_info', required : false) 50if dep_libdisplay_info.found() 51 common_cpp_flags += '-DHAS_LIBDISPLAY_INFO' 52 deps += dep_libdisplay_info 53endif 54 55hwc2_cpp_flags = [ 56 '-DHWC2_INCLUDE_STRINGIFICATION', 57 '-DHWC2_USE_CPP11', 58] 59 60subdir('drm') 61subdir('bufferinfo') 62 63drmhwc_common = static_library( 64 'drm_hwcomposer_common', 65 src_common, 66# TODO remove hwc2 flags from common code (backends needs rework) 67 cpp_args : common_cpp_flags + hwc2_cpp_flags, 68 dependencies : deps, 69) 70 71subdir('hwc2_device') 72subdir('hwc3') 73