xref: /OK3568_Linux_fs/external/linux-rga/meson.build (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyunproject(
2*4882a593Smuzhiyun    'librga',
3*4882a593Smuzhiyun    'cpp',
4*4882a593Smuzhiyun    version : '2.1.0',
5*4882a593Smuzhiyun    meson_version : '>=0.47.0',
6*4882a593Smuzhiyun    default_options : ['warning_level=3', 'cpp_std=c++14']
7*4882a593Smuzhiyun)
8*4882a593Smuzhiyun
9*4882a593Smuzhiyunpkgconfig = import('pkgconfig')
10*4882a593Smuzhiyun
11*4882a593Smuzhiyunlibthreads_dep = dependency('threads')
12*4882a593Smuzhiyun
13*4882a593Smuzhiyunadd_project_arguments('-DLINUX=1', language : 'cpp')
14*4882a593Smuzhiyun
15*4882a593Smuzhiyunlibrga_srcs = [
16*4882a593Smuzhiyun    'core/utils/android_utils/src/android_utils.cpp',
17*4882a593Smuzhiyun    'core/utils/drm_utils/src/drm_utils.cpp',
18*4882a593Smuzhiyun    'core/utils/utils.cpp',
19*4882a593Smuzhiyun    'core/GrallocOps.cpp',
20*4882a593Smuzhiyun    'core/NormalRgaApi.cpp',
21*4882a593Smuzhiyun	'core/NormalRga.cpp',
22*4882a593Smuzhiyun	'core/RgaUtils.cpp',
23*4882a593Smuzhiyun	'core/RockchipRga.cpp',
24*4882a593Smuzhiyun	'core/RgaApi.cpp',
25*4882a593Smuzhiyun	'core/rga_sync.cpp',
26*4882a593Smuzhiyun    'im2d_api/src/im2d_log.cpp',
27*4882a593Smuzhiyun    'im2d_api/src/im2d_impl.cpp',
28*4882a593Smuzhiyun	'im2d_api/src/im2d.cpp',
29*4882a593Smuzhiyun]
30*4882a593Smuzhiyun
31*4882a593Smuzhiyunincdir = include_directories('include', 'im2d_api', 'core/hardware', 'core/utils', 'core/3rdparty/libdrm/include/drm')
32*4882a593Smuzhiyun
33*4882a593Smuzhiyunlibrga = shared_library(
34*4882a593Smuzhiyun    'rga',
35*4882a593Smuzhiyun    librga_srcs,
36*4882a593Smuzhiyun    dependencies : [libthreads_dep],
37*4882a593Smuzhiyun	include_directories : incdir,
38*4882a593Smuzhiyun    version : meson.project_version(),
39*4882a593Smuzhiyun    cpp_args : ['-w'],
40*4882a593Smuzhiyun    install : true,
41*4882a593Smuzhiyun)
42*4882a593Smuzhiyun
43*4882a593Smuzhiyuninstall_headers(
44*4882a593Smuzhiyun    'include/rga.h',
45*4882a593Smuzhiyun    'include/drmrga.h',
46*4882a593Smuzhiyun    'include/GrallocOps.h',
47*4882a593Smuzhiyun    'include/RockchipRga.h',
48*4882a593Smuzhiyun    'include/RgaMutex.h',
49*4882a593Smuzhiyun	'include/RgaSingleton.h',
50*4882a593Smuzhiyun	'include/RgaUtils.h',
51*4882a593Smuzhiyun	'include/RgaApi.h',
52*4882a593Smuzhiyun	'im2d_api/im2d.h',
53*4882a593Smuzhiyun	'im2d_api/im2d.hpp',
54*4882a593Smuzhiyun    'im2d_api/im2d_type.h',
55*4882a593Smuzhiyun    'im2d_api/im2d_version.h',
56*4882a593Smuzhiyun    'im2d_api/im2d_buffer.h',
57*4882a593Smuzhiyun    'im2d_api/im2d_common.h',
58*4882a593Smuzhiyun    'im2d_api/im2d_single.h',
59*4882a593Smuzhiyun    'im2d_api/im2d_task.h',
60*4882a593Smuzhiyun    'im2d_api/im2d_mpi.h',
61*4882a593Smuzhiyun    'im2d_api/im2d_expand.h',
62*4882a593Smuzhiyun    subdir : 'rga',
63*4882a593Smuzhiyun)
64*4882a593Smuzhiyun
65*4882a593Smuzhiyunpkgconfig.generate(
66*4882a593Smuzhiyun    libraries : librga,
67*4882a593Smuzhiyun    filebase : 'librga',
68*4882a593Smuzhiyun    name : 'librga',
69*4882a593Smuzhiyun    version : meson.project_version(),
70*4882a593Smuzhiyun    description : 'Userspace interface to Rockchip RGA 2D accelerator',
71*4882a593Smuzhiyun)
72*4882a593Smuzhiyun
73*4882a593Smuzhiyunlibrga_demo_option = get_option('librga_demo')
74*4882a593Smuzhiyunif librga_demo_option != 'false'
75*4882a593Smuzhiyun    demo_src = [
76*4882a593Smuzhiyun		'samples/im2d_api_demo/rgaImDemo.cpp',
77*4882a593Smuzhiyun		'samples/im2d_api_demo/args.cpp'
78*4882a593Smuzhiyun	]
79*4882a593Smuzhiyun    demo_incdir = include_directories('include', 'im2d_api')
80*4882a593Smuzhiyun    librga_dep = dependency('librga')
81*4882a593Smuzhiyun    executable(
82*4882a593Smuzhiyun            'rgaImDemo',
83*4882a593Smuzhiyun            demo_src,
84*4882a593Smuzhiyun            include_directories : demo_incdir,
85*4882a593Smuzhiyun            dependencies : librga_dep,
86*4882a593Smuzhiyun            cpp_args : ['-Wno-pedantic'],
87*4882a593Smuzhiyun            install : true,
88*4882a593Smuzhiyun    )
89*4882a593Smuzhiyunendif
90