configure: Check for -no_weak_imports in ldflags on macOS
authorLuca Barbato <lu_zero@gentoo.org>
Mon, 6 Mar 2017 19:21:19 +0000 (20:21 +0100)
committerMartin Storsjö <martin@martin.st>
Tue, 7 Mar 2017 07:48:55 +0000 (09:48 +0200)
commit81bffae368f331b6cd386a814f225a58e3f32f40
tree9efa6eb934b93a9946b409d7fd9a3f2332bb09cd
parent57b753b445e23363c997a8ec1c556e0b0f6e9da3
configure: Check for -no_weak_imports in ldflags on macOS

Recent versions of macOS provide more POSIX API (in particular,
clock_gettime) than previous versions and recent Apple toolchains
provide all that API, even when targeting older releases without
said API. Disallow linking to functions which might not be available
at runtime.

To actually have an effect, either add
--extra-cflags="-mmacosx-version-min=10.11" (or any other version
prior to 10.12) or set MACOSX_DEPLOYMENT_TARGET=10.11 when running
configure.

As a workaround for libav versions without this fix, one can
also add --extra-cflags="-mmacosx-version-min=10.11
-Werror=partial-availability" while running configure.

The -no_weak_imports flag is new in Xcode 8; in Xcode 7 it is not
supported. This is not an issue since Xcode 7 only ships with the
10.11 macOS SDK, which lacks clock_gettime.

Bug-Id: 1033

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
configure