opr: Use opr_Assert() instead of silently failing
[openafs.git] / acinclude.m4
index abc6062..f8a0e23 100644 (file)
@@ -76,9 +76,6 @@ AC_ARG_WITH([afs-sysname],
 ])
 
 dnl General feature options.
-AC_ARG_ENABLE([gtx],
-    [AS_HELP_STRING([--disable-gtx], [disable gtx curses-based terminal tools])])
-
 AC_ARG_ENABLE([namei-fileserver],
     [AS_HELP_STRING([--enable-namei-fileserver],
        [force compilation of namei fileserver in preference to inode
@@ -253,24 +250,21 @@ AC_ARG_ENABLE([linux-syscall-probing],
     [enable_linux_syscall_probing="maybe"])
 AC_ARG_ENABLE([linux-d_splice_alias-extra-iput],
     [AS_HELP_STRING([--enable-linux-d_splice_alias-extra-iput],
-       [Linux has introduced an incompatible behavior change in the
-        d_splice_alias function with no reliable way to determine which
-        behavior will be produced.  If Linux commit
-        51486b900ee92856b977eacfc5bfbe6565028070 (or equivalent) has been
-        applied to your kernel, disable this option.  If that commit is
-        not present in your kernel, enable this option.  We apologize
-        that you are required to know this about your running kernel.])],
+       [Linux kernels in the 3.17 series prior to 3.17.3 had a bug
+        wherein error returns from the d_splice_alias() function were
+        leaking a reference on the inode.  The bug was fixed for the
+        3.17.3 kernel, and the possibility of an error return was only
+        introduced in kernel 3.17, so only the narrow range of kernels
+        is affected.  Enable this option for builds on systems with
+        kernels affected by this bug, to manually release the reference
+        on error returns and correct the reference counting.
+        Linux commit 51486b900ee92856b977eacfc5bfbe6565028070 (or
+        equivalent) is the fix for the upstream bug, so if such a commit
+        is present, leave this option disabled.  We apologize
+        that you are required to know this about your running kernel,
+        but luckily only a narrow range of versions is affected.])],
     [],
-    [case $system in
-    *-linux*)
-       AS_IF([test "x$LOGNAME" != "xbuildslave" &&
-           test "x$LOGNAME" != "xbuildbot"],
-           [AC_ERROR([Linux users must specify either
-               --enable-linux-d_splice_alias-extra-iput or
-               --disable-linux-d_splice_alias-extra-iput])],
-           [enable_linux_d_splice_alias_extra_iput="no"])
-     esac
-    ])
+    [enable_linux_d_splice_alias_extra_iput="no"])
 AC_ARG_WITH([crosstools-dir],
     [AS_HELP_STRING([--with-crosstools-dir=path],
        [use path for native versions of rxgen, compile_et and config])
@@ -691,6 +685,14 @@ else
                        AFS_SYSNAME="x86_darwin_140"
                        OSXSDK="macosx10.10"
                        ;;
+               x86_64-apple-darwin15.*)
+                       AFS_SYSNAME="x86_darwin_150"
+                       OSXSDK="macosx10.11"
+                       ;;
+               i?86-apple-darwin15.*)
+                       AFS_SYSNAME="x86_darwin_150"
+                       OSXSDK="macosx10.11"
+                       ;;
                sparc-sun-solaris2.8)
                        AFS_SYSNAME="sun4x_58"
                        ;;
@@ -1554,17 +1556,6 @@ AC_CHECK_TYPES([fsblkcnt_t],,,[
 dnl see what struct stat has for timestamps
 AC_CHECK_MEMBERS([struct stat.st_ctimespec, struct stat.st_ctimensec])
 
-dnl check for curses-lib
-AS_IF([test "x$enable_gtx" != "xno"],
-      [save_LIBS=$LIBS
-      AC_CHECK_LIB( [ncurses], [setupterm],
-      [LIB_curses=-lncurses],
-        [AC_CHECK_LIB([Hcurses], [setupterm], [LIB_curses=-lHcurses],
-          [AC_CHECK_LIB([curses], [setupterm], [LIB_curses=-lcurses])])
-      ])
-      LIBS=$save_LIBS
-      AC_SUBST(LIB_curses)])
-       
 OPENAFS_TEST_PACKAGE(libintl,[#include <libintl.h>],[-lintl],,,INTL)
 
 if test "$enable_debug_locks" = yes; then
@@ -1628,7 +1619,9 @@ AC_CHECK_FUNCS([ \
 
 OPENAFS_ROKEN()
 OPENAFS_HCRYPTO()
+OPENAFS_CURSES()
 OPENAFS_C_ATTRIBUTE()
+OPENAFS_C_PRAGMA()
 
 dnl Functions that Heimdal's libroken provides, but that we
 dnl haven't found a need for yet, and so haven't imported