]> granicus.if.org Git - curl/commitdiff
configure: set min version flags for builds on mac
authorDaniel Stenberg <daniel@haxx.se>
Wed, 19 Oct 2016 12:36:32 +0000 (14:36 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Thu, 20 Oct 2016 08:17:04 +0000 (10:17 +0200)
This helps building binaries that can work on multiple macOS versions.

Help-by: Martin Storsjö
Fixes #1069

acinclude.m4
configure.ac

index 312efcb4732335d97aae685b6c65de16adb573c3..ea97400b4d67e2d9c79143e39279283d2844def9 100644 (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
+
+])
index 0626b3810686d66105aa4aa7852594088bfb3624..83cfbff9a12807d0ae7071a0224ae820ee2066f6 100644 (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