From 81bffae368f331b6cd386a814f225a58e3f32f40 Mon Sep 17 00:00:00 2001 From: Luca Barbato Date: Mon, 6 Mar 2017 20:21:19 +0100 Subject: [PATCH] configure: Check for -no_weak_imports in ldflags on macOS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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ö --- configure | 1 + 1 file changed, 1 insertion(+) diff --git a/configure b/configure index 587b2186cf..f915871b5c 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 SLIBSUF=".dylib" SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME).$(LIBVERSION)$(SLIBSUF)' SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(NAME).$(LIBMAJOR)$(SLIBSUF)'