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