msdk: Avoid build failures on Windows until d3d allocator is implemented
[platform/upstream/gstreamer.git] / sys / msdk / meson.build
1 msdk_sources = [
2   'gstmsdk.c',
3   'gstmsdkcontext.c',
4   'gstmsdkcontextutil.c',
5   'gstmsdksystemmemory.c',
6   'gstmsdkvideomemory.c',
7   'gstmsdkbufferpool.c',
8   'gstmsdkdec.c',
9   'gstmsdkenc.c',
10   'gstmsdkh264dec.c',
11   'gstmsdkh264enc.c',
12   'gstmsdkh265dec.c',
13   'gstmsdkh265enc.c',
14   'gstmsdkmjpegdec.c',
15   'gstmsdkmjpegenc.c',
16   'gstmsdkmpeg2dec.c',
17   'gstmsdkmpeg2enc.c',
18   'gstmsdkvp8dec.c',
19   'gstmsdkvp8enc.c',
20   'msdk.c',
21 ]
22
23 if host_machine.system() == 'windows'
24   msdk_sources += ['msdk_d3d.c', 'gstmsdkallocator_d3d.c' ]
25 else
26   msdk_sources += ['msdk_libva.c', 'gstmsdkallocator_libva.c']
27 endif
28
29 msdk_root = run_command(python3, '-c', 'import os; print(os.environ.get("INTELMEDIASDKROOT", os.environ.get("MFX_HOME", "")))').stdout().strip()
30
31 if msdk_root != ''
32   msdk_libdir = [msdk_root + '/lib/lin_x64', msdk_root + '/lib/x64']
33   msdk_incdir = include_directories(msdk_root + '/include')
34   msdk_lib = cxx.find_library('mfx', dirs: msdk_libdir, required: false)
35   if host_machine.system() == 'windows'
36     legacy_stdio_dep = cc.find_library('legacy_stdio_definitions', required: false)
37     d3d11_dep = cc.find_library('d3d11', required: false)
38     msdk_dep = declare_dependency(include_directories: msdk_incdir, dependencies: [msdk_lib, d3d11_dep, legacy_stdio_dep])
39     msdk_dep_found = msdk_lib.found() and d3d11_dep.found() and legacy_stdio_dep.found() and cc.get_id() == 'msvc'
40   else
41     libva_dep = dependency('libva-drm', required: false)
42     libdl_dep = cc.find_library('dl', required: false)
43     msdk_dep = declare_dependency(include_directories: msdk_incdir, dependencies: [msdk_lib, libva_dep, libdl_dep])
44     msdk_dep_found = msdk_lib.found() and libva_dep.found() and libdl_dep.found()
45   endif
46
47   if msdk_dep_found
48     gstmsdktag = library('gstmsdk',
49       msdk_sources,
50       c_args : gst_plugins_bad_args,
51       include_directories : [configinc],
52       dependencies : [gstbase_dep, gstvideo_dep, gstpbutils_dep, msdk_dep],
53       install : true,
54       install_dir : plugins_install_dir,
55     )
56   endif
57 endif