• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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