blob: 3d5c9f01bd39fa90bbad501e42f751a8e7759004 [file] [log] [blame]
Roman Stratiienko38094812022-12-09 19:16:41 +02001project(
2 'drm_hwcomposer',
3 ['c', 'cpp'],
Dennis Tsiang33f0ece2023-11-29 12:45:04 +00004 version : '3',
Roman Stratiienko38094812022-12-09 19:16:41 +02005 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',
Roman Stratiienko22fe9612023-01-17 21:22:29 +020014 'compositor/FlatteningController.cpp',
Roman Stratiienko38094812022-12-09 19:16:41 +020015 'backend/BackendManager.cpp',
16 'backend/Backend.cpp',
17 'backend/BackendClient.cpp',
Roman Stratiienko76892782023-01-16 17:15:53 +020018 'utils/fd.cpp',
Sasha McIntoshf9062b62024-11-12 10:55:06 -050019 'utils/LibdisplayEdidWrapper.cpp',
Tim Van Patten16933c32024-11-08 16:41:39 -070020 'utils/properties.cpp',
Roman Stratiienko38094812022-12-09 19:16:41 +020021)
22
Dennis Tsiang33f0ece2023-11-29 12:45:04 +000023srcs_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
Roman Stratiienko38094812022-12-09 19:16:41 +020031deps = [
32 dependency('cutils'),
33 dependency('drm'),
34 dependency('hardware'),
35 dependency('hidlbase'),
36 dependency('log'),
37 dependency('sync'),
38 dependency('ui'),
39 dependency('utils'),
Drew Davenport5951b112024-08-05 09:44:27 -060040 dependency('aidlcommonsupport'),
41 dependency('android.hardware.graphics.composer@2.1-resources'),
42 dependency('android.hardware.graphics.composer@2.2-resources'),
Roman Stratiienko38094812022-12-09 19:16:41 +020043]
44
45common_cpp_flags = [
46 '-DUSE_IMAPPER4_METADATA_API',
47]
48
Lucas Berthou4483e472024-12-09 21:05:28 +000049dep_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
Roman Stratiienko38094812022-12-09 19:16:41 +020055hwc2_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')
Dennis Tsiang33f0ece2023-11-29 12:45:04 +000072subdir('hwc3')