xref: /OK3568_Linux_fs/external/drm-cursor/meson.build (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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