c9aba060a24a9d642c24bd702df8a3d89836d17c
[platform/upstream/libdrm.git] / freedreno / meson.build
1 # Copyright © 2017-2018 Intel Corporation
2
3 # Permission is hereby granted, free of charge, to any person obtaining a copy
4 # of this software and associated documentation files (the "Software"), to deal
5 # in the Software without restriction, including without limitation the rights
6 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 # copies of the Software, and to permit persons to whom the Software is
8 # furnished to do so, subject to the following conditions:
9
10 # The above copyright notice and this permission notice shall be included in
11 # all copies or substantial portions of the Software.
12
13 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19 # SOFTWARE.
20
21 files_freedreno = files(
22   'freedreno_device.c',
23   'freedreno_pipe.c',
24   'freedreno_ringbuffer.c',
25   'freedreno_bo.c',
26   'freedreno_bo_cache.c',
27   'msm/msm_bo.c',
28   'msm/msm_device.c',
29   'msm/msm_pipe.c',
30   'msm/msm_ringbuffer.c',
31 )
32
33 if with_freedreno_kgsl
34   files_freedreno += files(
35     'kgsl/kgsl_bo.c',
36     'kgsl/kgsl_device.c',
37     'kgsl/kgsl_pipe.c',
38     'kgsl/kgsl_ringbuffer.c',
39   )
40 endif
41
42 libdrm_freedreno = shared_library(
43   'drm_freedreno',
44   [files_freedreno, config_file],
45   c_args : libdrm_c_args,
46   include_directories : [inc_root, inc_drm],
47   dependencies : [dep_valgrind, dep_pthread_stubs, dep_rt, dep_atomic_ops],
48   link_with : libdrm,
49   version : '1.0.0',
50   install : true,
51 )
52
53 ext_libdrm_freedreno = declare_dependency(
54   link_with : [libdrm, libdrm_freedreno],
55   include_directories : [inc_drm, include_directories('.')],
56 )
57
58 install_headers(
59   'freedreno_drmif.h', 'freedreno_ringbuffer.h',
60   subdir : 'freedreno'
61 )
62
63 pkg.generate(
64   name : 'libdrm_freedreno',
65   libraries : libdrm_freedreno,
66   subdirs : ['.', 'libdrm', 'freedreno'],
67   version : meson.project_version(),
68   requires_private : 'libdrm',
69   description : 'Userspace interface to freedreno kernel DRM services',
70 )
71
72 test(
73   'freedreno-symbol-check',
74   prog_bash,
75   env : env_test,
76   args : [files('freedreno-symbol-check'), libdrm_freedreno]
77 )