diff --git a/meson.build b/meson.build index 2818b93d32..8d9898c5c3 100644 --- a/meson.build +++ b/meson.build @@ -307,8 +307,12 @@ iokit = [] emulator_link_args = [] nvmm =not_found hvf = not_found +midl = not_found +widl = not_found host_dsosuf = '.so' if targetos == 'windows' + midl = find_program('midl', required: false) + widl = find_program('widl', required: false) socket = cc.find_library('ws2_32') winmm = cc.find_library('winmm') diff --git a/qga/meson.build b/qga/meson.build index a32c141dd0..4ac781cb33 100644 --- a/qga/meson.build +++ b/qga/meson.build @@ -20,6 +20,8 @@ have_qga_vss = get_option('qga_vss') \ $ scripts/extract-vsssdk-headers setup.exe The headers are extracted in the directory 'inc/win2003'. Then run configure with: --extra-cxxflags="-isystem /path/to/vss/inc/win2003"''') \ + .require(midl.found() or widl.found(), + error_message: 'VSS support requires midl or widl') \ .allowed() all_qga = [] diff --git a/qga/vss-win32/meson.build b/qga/vss-win32/meson.build index 8d4c5708d8..c064a4e245 100644 --- a/qga/vss-win32/meson.build +++ b/qga/vss-win32/meson.build @@ -25,21 +25,14 @@ qga_vss = shared_module( all_qga += qga_vss -midl = find_program('midl', required: false) -widl = find_program('widl', required: false) if midl.found() gen_tlb = custom_target('gen-tlb', input: 'qga-vss.idl', output: 'qga-vss.tlb', command: [midl, '@INPUT@', '/tlb', '@OUTPUT@']) -elif widl.found() +else gen_tlb = custom_target('gen-tlb', input: 'qga-vss.idl', output: 'qga-vss.tlb', command: [widl, '-t', '@INPUT@', '-o', '@OUTPUT@']) -else - gen_tlb = custom_target('gen-tlb', - input: 'qga-vss.tlb', - output: 'qga-vss.tlb', - command: ['cp', '@INPUT@', '@OUTPUT@']) endif diff --git a/qga/vss-win32/qga-vss.tlb b/qga/vss-win32/qga-vss.tlb deleted file mode 100644 index 226452a186..0000000000 Binary files a/qga/vss-win32/qga-vss.tlb and /dev/null differ