From ca5198b4291dec83c933c757b6268ec7f1685f33 Mon Sep 17 00:00:00 2001 From: Paul Kocialkowski Date: Thu, 7 Mar 2019 10:22:23 +0100 Subject: [PATCH] Add support for the meson build system Signed-off-by: Paul Kocialkowski --- meson.build | 39 ++++++++++++++++++++++ src/meson.build | 86 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 125 insertions(+) create mode 100644 meson.build create mode 100644 src/meson.build diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..aca0516 --- /dev/null +++ b/meson.build @@ -0,0 +1,39 @@ +# Copyright (C) 2019 Bootlin +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sub license, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice (including the +# next paragraph) shall be included in all copies or substantial portions +# of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. +# IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR +# ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +project('libva-v4l2-request', 'c', + version: '1.0.0', + meson_version: '>= 0.43.0') + +cc = meson.get_compiler('c') + +libva_dep = dependency('libva', version : '>= 1.4.0') +libdrm_dep = dependency('libdrm', version : '>= 2.4.52') + +va_api_version_array = libva_dep.version().split('.') +va_api_major_version = va_api_version_array[0] +va_api_minor_version = va_api_version_array[1] + +va_driver_init_func = '__vaDriverInit_@0@_@1@'.format(va_api_major_version, + va_api_minor_version) + +subdir('src') diff --git a/src/meson.build b/src/meson.build new file mode 100644 index 0000000..65e7693 --- /dev/null +++ b/src/meson.build @@ -0,0 +1,86 @@ +# Copyright (C) 2019 Bootlin +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sub license, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice (including the +# next paragraph) shall be included in all copies or substantial portions +# of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. +# IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR +# ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +autoconf_data = configuration_data() +autoconf_data.set('VA_DRIVER_INIT_FUNC', va_driver_init_func) + +autoconf = configure_file( + output: 'autoconfig.h', + configuration: autoconf_data) + +sources = [ + 'request.c', + 'object_heap.c', + 'config.c', + 'surface.c', + 'context.c', + 'buffer.c', + 'picture.c', + 'subpicture.c', + 'image.c', + 'utils.c', + 'tiled_yuv.S', + 'video.c', + 'media.c', + 'v4l2.c', + 'mpeg2.c', + 'h264.c', + 'h265.c' +] + +headers = [ + 'request.h', + 'object_heap.h', + 'config.h', + 'surface.h', + 'context.h', + 'buffer.h', + 'picture.h', + 'subpicture.h', + 'image.h', + 'utils.h', + 'tiled_yuv.h', + 'video.h', + 'media.h', + 'v4l2.h', + 'mpeg2.h', + 'h264.h', + 'h265.h' +] + +cflags = [ + '-Wall', + '-fvisibility=hidden' +] + +deps = [ + libva_dep, + libdrm_dep +] + +v4l2_request_drv_video = shared_module('v4l2_request_drv_video', + name_prefix: '', + install: true, + install_dir: '/usr/lib/dri/', + c_args: cflags, + sources: [ sources, headers, autoconf ], + dependencies: deps)