| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
 | | project( |  |     'librga', |  |     'cpp', |  |     version : '2.1.0', |  |     meson_version : '>=0.47.0', |  |     default_options : ['warning_level=3', 'cpp_std=c++14'] |  | ) |  |   |  | pkgconfig = import('pkgconfig') |  |   |  | libdrm_dep = dependency('', required : false) |  | libdrm_option = get_option('libdrm') |  | if libdrm_option != 'false' |  |     libdrm_dep = dependency('libdrm', version : '>= 2.4.0') |  |     if libdrm_option == 'true' and not libdrm_dep.found() |  |         error('libdrm requested, but not found.') |  |     endif |  | endif |  |   |  | if libdrm_dep.found() |  |     message('Building with libdrm.') |  |     add_project_arguments('-DLIBDRM=1', language : 'cpp') |  | else |  |     message('Building without libdrm.') |  | endif |  |   |  | libthreads_dep = dependency('threads') |  |   |  | gen_version = vcs_tag( |  |     command : ['./genversion.sh', 'meson'], |  |     replace_string : '$GIT_BUILD_VERSION', |  |     input : 'version.h.template', output : 'version.h', |  | ) |  | add_project_arguments('-DLINUX=1', language : 'cpp') |  |   |  | librga_srcs = [ |  |     gen_version, |  |     'core/GrallocOps.cpp', |  |     'core/NormalRgaApi.cpp', |  |     'core/NormalRga.cpp', |  |     'core/RgaUtils.cpp', |  |     'core/RockchipRga.cpp', |  |     'core/RgaApi.cpp', |  |     'im2d_api/im2d.cpp', |  | ] |  |   |  | incdir = include_directories('include') |  |   |  | librga = shared_library( |  |     'rga', |  |     librga_srcs, |  |     dependencies : [libdrm_dep, libthreads_dep], |  |     include_directories : incdir, |  |     version : meson.project_version(), |  |     install : true, |  | ) |  |   |  | install_headers( |  |     'include/rga.h', |  |     'include/drmrga.h', |  |     'include/GrallocOps.h', |  |     'include/RockchipRga.h', |  |     'include/RgaMutex.h', |  |     'include/RgaSingleton.h', |  |     'include/RgaUtils.h', |  |     'include/RgaApi.h', |  |     'im2d_api/im2d.h', |  |     'im2d_api/im2d.hpp', |  |     subdir : 'rga', |  | ) |  |   |  | pkgconfig.generate( |  |     libraries : librga, |  |     filebase : 'librga', |  |     name : 'librga', |  |     version : meson.project_version(), |  |     description : 'Userspace interface to Rockchip RGA 2D accelerator', |  | ) |  |   |  | librga_demo_option = get_option('librga_demo') |  | if librga_demo_option != 'false' |  |     demo_src = [ |  |         'samples/im2d_api_demo/rgaImDemo.cpp', |  |         'samples/im2d_api_demo/args.cpp' |  |     ] |  |     demo_incdir = include_directories('include', 'im2d_api') |  |     executable( |  |         'rgaImDemo', |  |         demo_src, |  |         include_directories : demo_incdir, |  |         link_with : librga, |  |         cpp_args : ['-Wno-pedantic'], |  |         install : true, |  |     ) |  | endif | 
 |