configure: set min version flags for builds on mac

This helps building binaries that can work on multiple macOS versions.

Help-by: Martin Storsjö

Fixes #1069
This commit is contained in:
Daniel Stenberg 2016-10-19 14:36:32 +02:00
parent 5c3d8d20a6
commit 4f8d0b6f02
2 changed files with 40 additions and 1 deletions

View File

@ -5,7 +5,7 @@
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
# Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
# Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
@ -3199,3 +3199,40 @@ TEST EINVAL TEST
CPPPFLAG=""
fi
])
dnl CURL_MAC_CFLAGS
dnl
dnl Check if -mmacosx-version-min or -miphoneos-version-min are set manually,
dnl otherwise do. And set -Werror=partial-availability.
dnl
AC_DEFUN([CURL_MAC_CFLAGS], [
tst_cflags="no"
case $host_os in
darwin*)
tst_cflags="yes"
;;
esac
AC_MSG_CHECKING([for good-to-use Mac CFLAGS])
AC_MSG_RESULT([$tst_cflags]);
if test "$tst_cflags" = "yes"; then
AC_MSG_CHECKING([for *version-min in CFLAGS])
min=""
if test -z "$(echo $CFLAGS | grep mmacosx-version-min)" -a
test -z "$(echo $CFLAGS | grep miphoneos-version-min)"; then
min="-mmacosx-version-min=10.5"
CFLAGS="$CFLAGS $min"
fi
if test -z "$min"; then
AC_MSG_RESULT([set by user])
else
AC_MSG_RESULT([$min set])
fi
CFLAGS="$CFLAGS -Werror=partial-availability"
fi
])

View File

@ -357,6 +357,8 @@ case X-"$curl_cv_native_windows" in
esac
CURL_CHECK_WIN32_LARGEFILE
CURL_MAC_CFLAGS
dnl ************************************************************
dnl switch off particular protocols
dnl