[libav-stable] configure: Check for -no_weak_imports in ldflags on macOS

Luca Barbato git at libav.org
Tue Mar 7 08:53:58 CET 2017

Module: libav
Branch: master
Commit: 81bffae368f331b6cd386a814f225a58e3f32f40

Author:    Luca Barbato <lu_zero at gentoo.org>
Committer: Martin Storsjö <martin at martin.st>
Date:      Mon Mar  6 20:21:19 2017 +0100

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

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 at libav.org
Signed-off-by: Martin Storsjö <martin at martin.st>


 configure | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configure b/configure
index 587b218..f915871 100755
--- a/configure
+++ b/configure
@@ -3948,6 +3948,7 @@ case $target_os in
         SHFLAGS='-dynamiclib -Wl,-single_module -Wl,-install_name,$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR),-current_version,$(LIBVERSION),-compatibility_version,$(LIBMAJOR)'
         enabled x86_32 && append SHFLAGS -Wl,-read_only_relocs,suppress
         add_ldflags -Wl,-dynamic,-search_paths_first
+        check_ldflags -Wl,-no_weak_imports

More information about the libav-stable mailing list