]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Ignore mach_approximate_time when targeting macOS 10.9 and earlier
authorteor <teor@torproject.org>
Fri, 20 Jul 2018 02:26:33 +0000 (12:26 +1000)
committerteor <teor@torproject.org>
Fri, 20 Jul 2018 02:29:32 +0000 (12:29 +1000)
Work around two different bugs in the OS X 10.10 and later SDKs that would
prevent us from successfully targeting earlier versions of OS X.

Fixes bug 26876; bugfix on 0.3.3.1-alpha.

changes/bug26876 [new file with mode: 0644]
configure.ac

diff --git a/changes/bug26876 b/changes/bug26876
new file mode 100644 (file)
index 0000000..b661104
--- /dev/null
@@ -0,0 +1,4 @@
+  o Minor bugfixes (portability):
+    - Work around two different bugs in the OS X 10.10 and later SDKs that
+      would prevent us from successfully targeting earlier versions of OS X.
+      Fixes bug 26876; bugfix on 0.3.3.1-alpha.
index 2fda2ef6f32f443125124008269a8b013071a139..ba58f9d7404ba4deb36b79b8bd6b9a486c28a9b8 100644 (file)
@@ -548,7 +548,6 @@ AC_CHECK_FUNCS(
         llround \
         localtime_r \
         lround \
-       mach_approximate_time \
         memmem \
         memset_s \
        pipe \
@@ -574,9 +573,36 @@ AC_CHECK_FUNCS(
        _vscprintf
 )
 
-# Apple messed up when they added two functions functions in Sierra: they
+# Apple messed up when they added some functions: they
 # forgot to decorate them with appropriate AVAILABLE_MAC_OS_VERSION
-# checks. So we should only probe for those functions if we are sure that we
+# checks.
+
+# We should only probe for these functions if we are sure that we
+# are not targeting OS X 10.9 or earlier.
+AC_MSG_CHECKING([for a pre-Yosemite OS X build target])
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#ifdef __APPLE__
+#  include <AvailabilityMacros.h>
+#  ifndef MAC_OS_X_VERSION_10_10
+#    define MAC_OS_X_VERSION_10_10 101000
+#  endif
+#  if defined(MAC_OS_X_VERSION_MIN_REQUIRED)
+#    if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_10
+#      error "Running on Mac OS X 10.9 or earlier"
+#    endif
+#  endif
+#endif
+]], [[]])],
+   [on_macos_pre_10_10=no ; AC_MSG_RESULT([no])],
+   [on_macos_pre_10_10=yes; AC_MSG_RESULT([yes])])
+
+if test "$on_macos_pre_10_10" = "no"; then
+  AC_CHECK_FUNCS(
+        mach_approximate_time \
+  )
+fi
+
+# We should only probe for these functions if we are sure that we
 # are not targeting OSX 10.11 or earlier.
 AC_MSG_CHECKING([for a pre-Sierra OSX build target])
 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[