summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Barbato <lu_zero@gentoo.org>2017-03-06 20:21:19 +0100
committerMartin Storsjö <martin@martin.st>2017-03-07 09:48:55 +0200
commit81bffae368f331b6cd386a814f225a58e3f32f40 (patch)
tree9efa6eb934b93a9946b409d7fd9a3f2332bb09cd
parent57b753b445e23363c997a8ec1c556e0b0f6e9da3 (diff)
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>
-rwxr-xr-xconfigure1
1 files changed, 1 insertions, 0 deletions
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)'