1*4882a593Smuzhiyunproject( 2*4882a593Smuzhiyun 'libdrm-cursor', 3*4882a593Smuzhiyun 'c', 4*4882a593Smuzhiyun version : '1.0.0', 5*4882a593Smuzhiyun meson_version : '>=0.47.0', 6*4882a593Smuzhiyun default_options: ['buildtype=release', 'warning_level=3'], 7*4882a593Smuzhiyun) 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunpkgconfig = import('pkgconfig') 10*4882a593Smuzhiyun 11*4882a593Smuzhiyunlibdrm_dep = dependency('libdrm', version : '>= 2.4.0') 12*4882a593Smuzhiyunlibthreads_dep = dependency('threads') 13*4882a593Smuzhiyunlibgbm_dep = dependency('gbm') 14*4882a593Smuzhiyunlibegl_dep = dependency('egl') 15*4882a593Smuzhiyunlibgles_dep = dependency('glesv2') 16*4882a593Smuzhiyun 17*4882a593Smuzhiyunlibdrm_cursor_deps = [ 18*4882a593Smuzhiyun libdrm_dep, 19*4882a593Smuzhiyun libthreads_dep, 20*4882a593Smuzhiyun libgbm_dep, 21*4882a593Smuzhiyun libegl_dep, 22*4882a593Smuzhiyun libgles_dep, 23*4882a593Smuzhiyun] 24*4882a593Smuzhiyun 25*4882a593Smuzhiyunlibdrm_cursor_srcs = [ 26*4882a593Smuzhiyun 'drm_cursor.c', 27*4882a593Smuzhiyun 'drm_egl.c', 28*4882a593Smuzhiyun] 29*4882a593Smuzhiyun 30*4882a593Smuzhiyunadd_project_arguments(['-D_GNU_SOURCE'], language: 'c') 31*4882a593Smuzhiyun 32*4882a593Smuzhiyunif get_option('prefer-afbc') 33*4882a593Smuzhiyun message('Prefer ARM AFBC modifier') 34*4882a593Smuzhiyun add_project_arguments(['-DPREFER_AFBC_MODIFIER'], language: 'c') 35*4882a593Smuzhiyunendif 36*4882a593Smuzhiyun 37*4882a593Smuzhiyunlibdrm_cursor = shared_library( 38*4882a593Smuzhiyun 'drm-cursor', 39*4882a593Smuzhiyun libdrm_cursor_srcs, 40*4882a593Smuzhiyun dependencies : libdrm_cursor_deps, 41*4882a593Smuzhiyun version : meson.project_version(), 42*4882a593Smuzhiyun install : true, 43*4882a593Smuzhiyun) 44*4882a593Smuzhiyun 45*4882a593Smuzhiyunpkgconfig.generate( 46*4882a593Smuzhiyun libraries : 'libdrm-cursor', 47*4882a593Smuzhiyun filebase : 'libdrm-cursor', 48*4882a593Smuzhiyun name : 'libdrm-cursor', 49*4882a593Smuzhiyun version : meson.project_version(), 50*4882a593Smuzhiyun description : 'A hook of drm cursor APIs to fake cursor plane.', 51*4882a593Smuzhiyun) 52*4882a593Smuzhiyun 53*4882a593Smuzhiyunconfigure_file( 54*4882a593Smuzhiyun input : 'drm-cursor.conf.sample', 55*4882a593Smuzhiyun output : 'drm-cursor.conf', 56*4882a593Smuzhiyun install_dir : get_option('sysconfdir'), 57*4882a593Smuzhiyun copy : true, 58*4882a593Smuzhiyun) 59*4882a593Smuzhiyun 60*4882a593Smuzhiyunexecutable( 61*4882a593Smuzhiyun 'cursor-test', 62*4882a593Smuzhiyun [ libdrm_cursor_srcs, 'test.c' ], 63*4882a593Smuzhiyun dependencies : libdrm_cursor_deps, 64*4882a593Smuzhiyun install : get_option('install-test'), 65*4882a593Smuzhiyun) 66