1wasapi_sources = [
2  'gstwasapi.c',
3  'gstwasapisrc.c',
4  'gstwasapisink.c',
5  'gstwasapiutil.c',
6  'gstwasapidevice.c',
7]
8
9if host_system != 'windows'
10  if get_option('wasapi').disabled()
11    subdir_done()
12  elif get_option('wasapi').enabled()
13    error('Cannot build wasapi plugin when not building for Windows')
14  endif
15endif
16
17ole32_dep = cc.find_library('ole32', required : get_option('wasapi'))
18ksuser_dep = cc.find_library('ksuser', required : get_option('wasapi'))
19have_audioclient_h = cc.has_header('audioclient.h')
20if not have_audioclient_h and get_option('wasapi').enabled()
21  error('wasapi plugin enabled but audioclient.h not found')
22endif
23
24if ole32_dep.found() and ksuser_dep.found() and have_audioclient_h
25  wasapi_args = ['-DCOBJMACROS']
26  if cc.has_header_symbol('audioclient.h', 'AUDCLNT_STREAMOPTIONS_NONE')
27    wasapi_args += ['-DHAVE_AUDCLNT_STREAMOPTIONS']
28  endif
29
30  gstwasapi = library('gstwasapi',
31    wasapi_sources,
32    c_args : gst_plugins_bad_args + wasapi_args,
33    include_directories : [configinc],
34    dependencies : [gstaudio_dep, ole32_dep, ksuser_dep],
35    install : true,
36    install_dir : plugins_install_dir)
37  pkgconfig.generate(gstwasapi, install_dir : plugins_pkgconfig_install_dir)
38endif
39