xref: /aosp_15_r20/external/drm_hwcomposer/meson.build (revision 0a9764fe0a15e71ebbeb85e87e10990c23aab47f)
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/properties.cpp',
20)
21
22srcs_hwc2_device = [
23    'hwc2_device/hwc2_device.cpp',
24    'hwc2_device/DrmHwcTwo.cpp',
25    'hwc2_device/HwcDisplayConfigs.cpp',
26    'hwc2_device/HwcDisplay.cpp',
27    'hwc2_device/HwcLayer.cpp',
28]
29
30deps = [
31    dependency('cutils'),
32    dependency('drm'),
33    dependency('hardware'),
34    dependency('hidlbase'),
35    dependency('log'),
36    dependency('sync'),
37    dependency('ui'),
38    dependency('utils'),
39    dependency('aidlcommonsupport'),
40    dependency('[email protected]'),
41    dependency('[email protected]'),
42]
43
44common_cpp_flags = [
45    '-DUSE_IMAPPER4_METADATA_API',
46]
47
48hwc2_cpp_flags = [
49    '-DHWC2_INCLUDE_STRINGIFICATION',
50    '-DHWC2_USE_CPP11',
51]
52
53subdir('drm')
54subdir('bufferinfo')
55
56drmhwc_common = static_library(
57    'drm_hwcomposer_common',
58    src_common,
59# TODO remove hwc2 flags from common code (backends needs rework)
60    cpp_args : common_cpp_flags + hwc2_cpp_flags,
61    dependencies : deps,
62)
63
64subdir('hwc2_device')
65subdir('hwc3')
66