meson.build revision 40613eb2
1# SPDX-License-Identifier: MIT
2# Copyright © 2022 Intel Corporation
3
4project(
5  'libXvMC',
6  'c',
7  version : '1.0.13',
8  meson_version : '>= 0.58',
9  default_options : ['default_library=both'],
10)
11
12cc = meson.get_compiler('c')
13
14dep_dl = dependency('dl', required : false)
15if not dep_dl.found()
16  dep_dl = cc.find_library('dl', required : false)
17endif
18
19deps = [
20  dependency('x11', version : '>= 1.6'),
21  dependency('xext'),
22  dependency('xv'),
23  dependency('xextproto'),
24  dependency('videoproto'),
25  dep_dl,
26]
27
28conf = configuration_data()
29
30if cc.has_function('shmat')
31  conf.set('HAVE_SHMAT', true)
32endif
33
34configure_file(
35  configuration : conf,
36  output : 'config.h',
37)
38
39install_headers(
40  'include/X11/extensions/vldXvMC.h',
41  'include/X11/extensions/XvMClib.h',
42  subdir : 'X11/extensions',
43)
44
45install_data(
46  'XvMC_API.txt',
47  install_dir : get_option('datadir') / 'doc',
48)
49
50pkg = import('pkgconfig')
51
52inc = include_directories('include')
53
54libXvMC = library(
55  'XvMC',
56  'src/XvMC.c',
57  c_args : ['-DHAVE_CONFIG_H'],
58  include_directories : inc,
59  dependencies : deps,
60  version : '1.0.0',
61  install : true,
62)
63
64pkg.generate(
65  libXvMC,
66  filebase : 'xvmc',
67  description : 'The XvMC Library',
68  version : meson.project_version(),
69)
70
71ext_libXvMC = declare_dependency(
72  link_with : libXvMC,
73  include_directories : inc,
74)
75
76meson.override_dependency('xvmc', ext_libXvMC)
77
78libXvMCW = library(
79  'XvMCW',
80  'wrapper/XvMCWrapper.c',
81  include_directories : inc,
82  c_args : [
83    '-DXVMC_CONFIGDIR=@0@/X11'.format(get_option('sysconfdir')),
84    '-DXVMC_SOVERSION=".1.0"',
85    '-DXV_SOVERSION=".1.0"',
86  ],
87  dependencies : deps,
88  version : '1.0.0',
89  install : true,
90)
91
92ext_libXvMCW = declare_dependency(
93  link_with : libXvMCW,
94  include_directories : inc,
95)
96
97pkg.generate(
98  libXvMCW,
99  name : 'XvMCWrapper',
100  filebase : 'xvmc-wrapper',
101  description : 'XvMC wrapper library',
102  version : meson.project_version(),
103)
104
105meson.override_dependency('xvmc-wrapper', ext_libXvMCW)
106
107