Only pass -DZ_SOLO on MSVC if using MSYS2 zlib

This fixes the build when we're building our own zlib as a subproject.
This commit is contained in:
Nirbheek Chauhan 2018-04-13 14:56:33 +05:30
parent 8f5533c1e1
commit 40f97fe186

View file

@ -15,11 +15,22 @@ subprojects = [
]
cc = meson.get_compiler('c')
# Make it possible to use msys2 built zlib which fails
# when not using the mingw toolchain as it uses unistd.h
if not meson.is_subproject() and cc.get_id() == 'msvc'
# Make it possible to use msys2 built zlib
# which fails when not using the mingw toolchain as
# it uses unistd.h
add_global_arguments('-DZ_SOLO', language: 'c')
uname = find_program('uname')
ret = run_command(uname, '-o')
if ret.returncode() == 0 and ret.stdout().lower() == 'msys'
ret = run_command(uname, '-r')
# The kernel version returned by uname is actually the msys version
if ret.returncode() == 0 and ret.stdout().startswith('2')
# If a system zlib is found, disable UNIX features in zlib.h and zconf.h
if cc.find_library('z').found()
add_global_arguments('-DZ_SOLO', language: 'c')
endif
endif
endif
endif
# FIXME Remove that check once we have ffmpeg as a gst-libav subproject