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