mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 00:36:51 +00:00
meson: Check the nasm version with run_command
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/751 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/631>
This commit is contained in:
parent
8b4f18d53b
commit
c54aa053d1
1 changed files with 29 additions and 5 deletions
34
meson.build
34
meson.build
|
@ -335,18 +335,42 @@ else
|
||||||
cdata.set('DISABLE_ORC', 1)
|
cdata.set('DISABLE_ORC', 1)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
have_nasm=false
|
have_nasm = false
|
||||||
# FIXME: nasm path needs testing on non-Linux, esp. Windows
|
# FIXME: nasm path needs testing on non-Linux, esp. Windows
|
||||||
host_cpu = host_machine.cpu_family()
|
host_cpu = host_machine.cpu_family()
|
||||||
if host_cpu == 'x86_64'
|
if host_cpu == 'x86_64'
|
||||||
if cc.get_id() == 'msvc'
|
if cc.get_id() == 'msvc'
|
||||||
message('Nasm disabled on MSVC')
|
message('Nasm disabled on MSVC')
|
||||||
else
|
else
|
||||||
nasm = find_program('nasm', native: true, version : '>= 2.13', required: get_option('asm'))
|
asm_option = get_option('asm')
|
||||||
|
nasm = find_program('nasm', native: true, required: asm_option)
|
||||||
if nasm.found()
|
if nasm.found()
|
||||||
message('Nasm found on x86-64')
|
# We can't use the version: kwarg for find_program because old versions
|
||||||
cdata.set('HAVE_NASM', 1)
|
# of nasm don't support --version
|
||||||
have_nasm = true
|
ret = run_command(nasm, '-v')
|
||||||
|
if ret.returncode() == 0
|
||||||
|
nasm_version = ret.stdout().strip().split()[2]
|
||||||
|
nasm_req = '>=2.13'
|
||||||
|
if nasm_version.version_compare(nasm_req)
|
||||||
|
message('nasm found on x86-64')
|
||||||
|
cdata.set('HAVE_NASM', 1)
|
||||||
|
have_nasm = true
|
||||||
|
else
|
||||||
|
if asm_option.enabled()
|
||||||
|
error('asm option is enabled, and nasm @0@ was found, but @1@ is required'.format(nasm_version, nasm_req))
|
||||||
|
endif
|
||||||
|
message('nasm @0@ was found, but @1@ is required'.format(nasm_version, nasm_req))
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if asm_option.enabled()
|
||||||
|
error('asm option is enabled, but nasm is not usable: @0@\n@1@'.format(ret.stdout(), ret.stderr()))
|
||||||
|
endif
|
||||||
|
message('nasm was found, but it\'s not usable')
|
||||||
|
endif
|
||||||
|
# Unset nasm to not be 'found'
|
||||||
|
if not have_nasm
|
||||||
|
nasm = disabler()
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
Loading…
Reference in a new issue