[FFmpeg-cvslog] configure: Check for -no_weak_imports in ldflags on macOS

Luca Barbato git at videolan.org
Tue Oct 17 21:15:28 EEST 2017


ffmpeg | branch: master | Luca Barbato <lu_zero at gentoo.org> | Mon Mar  6 20:21:19 2017 +0100| [81bffae368f331b6cd386a814f225a58e3f32f40] | committer: Martin Storsjö

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

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=81bffae368f331b6cd386a814f225a58e3f32f40
---

 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)'



More information about the ffmpeg-cvslog mailing list