diff options
author | Víctor Manuel Jáquez Leal <vjaquez@igalia.com> | 2017-11-03 15:47:26 +0100 |
---|---|---|
committer | Xiang, Haihao <haihao.xiang@intel.com> | 2018-02-11 20:21:04 +0800 |
commit | bb92421bdb3fff437e6210cf4792f96e53dff1d8 (patch) | |
tree | 045359d7745cdd1a7b7177417ab1106c2b4e9787 /meson.build | |
parent | b4787d63aaf0f4685badc1732f872cf19e5616ad (diff) | |
download | libva-intel-driver-bb92421bdb3fff437e6210cf4792f96e53dff1d8.tar.gz |
Add meson support
Diffstat (limited to 'meson.build')
-rw-r--r-- | meson.build | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/meson.build b/meson.build new file mode 100644 index 00000000..d62e2393 --- /dev/null +++ b/meson.build @@ -0,0 +1,102 @@ +project( + 'intel-vaapi-driver', 'c', + version : '2.1.1.1', + meson_version : '>= 0.43.0', + default_options : [ 'warning_level=1', + 'buildtype=debugoptimized' ]) + +version_arr = meson.project_version().split('.') +intel_vaapi_driver_major_version = version_arr[0] +intel_vaapi_driver_minor_version = version_arr[1] +intel_vaapi_driver_micro_version = version_arr[2] +intel_vaapi_driver_version = '@0@.@1@.@2@'.format(intel_vaapi_driver_major_version, + intel_vaapi_driver_minor_version, + intel_vaapi_driver_micro_version) +if version_arr.length() == 4 + intel_vaapi_driver_pre_version = version_arr[3] + intel_vaapi_driver_version = '@0@.pre@1@'.format(intel_vaapi_driver_version, + intel_vaapi_driver_pre_version) +endif + +cc = meson.get_compiler('c') +dl_dep = cc.find_library('dl') +mathlib_dep = cc.find_library('m', required : false) + +git = find_program('git', required : false) + +thread_dep = dependency('threads') +libdrm_dep = dependency('libdrm', version : '>= 2.4.52') +libdrm_intel_dep = dependency('libdrm_intel') + +libva_version = '>= 1.1.0' +libva_dep = dependency('libva', version : libva_version, + fallback : [ 'libva', 'libva_dep' ]) +if get_option ('enable_tests') + libva_drm_dep = dependency('libva-drm', version : libva_version, + fallback : [ 'libva', 'libva_drm_dep' ]) +endif + +va_api_major_version = '0' +va_api_minor_version = '33' +driverdir = get_option('driverdir') +if libva_dep.type_name() == 'pkgconfig' + if driverdir == '' + driverdir = libva_dep.get_pkgconfig_variable('driverdir') + endif + 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] +else + libva = subproject('libva') + if driverdir == '' + driverdir = libva.get_variable('driverdir') + endif + va_api_major_version = libva.get_variable('va_api_major_version') + va_api_minor_version = libva.get_variable('va_api_minor_version') +endif + +if driverdir == '' + driverdir = '@0@/@1@/@2@'.format(get_option('prefix'), get_option('libdir'), 'dri') +endif + +va_driver_init_func = '__vaDriverInit_@0@_@1@'.format(va_api_major_version, + va_api_minor_version) + +WITH_X11 = false +if get_option('with_x11') != 'no' + libva_x11_dep = dependency( + 'libva-x11', + version : libva_version, + required : get_option('with_x11') == 'yes') + + HAVE_X11 = libva_x11_dep.found() +endif + +WITH_WAYLAND = false +if get_option('with_wayland') != 'no' + wayland_client_dep = dependency( + 'wayland-client', + version : '>= 1.11.0', + required : get_option('with_wayland') == 'yes') + + if wayland_client_dep.found() + prefix = wayland_client_dep.get_pkgconfig_variable('prefix') + wl_scanner = find_program( + 'wayland-scanner', + join_paths(prefix, '/bin/wayland-scanner')) + endif + + libva_wayland_dep = dependency( + 'libva-wayland', + version : libva_version, + required : get_option('with_wayland') == 'yes') + + WITH_WAYLAND = wl_scanner.found() and libva_wayland_dep.found() +endif + +subdir('src') + +if get_option('enable_tests') + srcdir = include_directories('src') + subdir('test') +endif |