Bump to lsof 4.91
[platform/upstream/lsof.git] / Configure
index aba0f2d..f3dc281 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -14,7 +14,7 @@
 # shell script, named $LSOF_MK, that places its source modules in this
 # directory.
 #
-# $Id: Configure,v 1.163 2014/10/13 22:31:08 abe Exp $
+# $Id: Configure,v 1.165 2018/02/14 14:18:48 abe Exp $
 
 # LSOF_CFLAGS_OVERRIDE=1 may be introduced through the environment to cause
 #      the library Makefile's CFLAGS definition to override any in the
@@ -293,8 +293,8 @@ do
       echo "rm -rf AFSHeaders AFSVersion solaris11 version.h vnode_if.h"
       rm -f ${LSOF_HLP_BASE}* cd9660_node.h lockf_owner.h fbsd_minor.h
       echo "rm -f ${LSOF_HLP_BASE}* cd9660_node.h lockf_owner.h fbsd_minor.h"
-      rm -f opt_kdtrace.h
-      echo "rm -f opt_kdtrace.h"
+      rm -f opt_kdtrace.h opt_random.h
+      echo "rm -f opt_kdtrace.h opt_random.h"
       rm -f dialects/aix/aix5/j2/j2_snapshot.h
       echo "rm -f dialects/aix/aix5/j2/j2_snapshot.h"
       rm -f dialects/sun/solaris10     # DEBUG -- for s10_44
@@ -889,13 +889,16 @@ case $LSOF_TGT in # {
       11.*)                    # Mac OS X 10.7 (Lion)
        LSOF_VERS=1100
        ;;
-      12.*)                    # Next Mac OS X
+      12.*)                    # Mac OS X 10.8 (Mountain Lion)
        LSOF_VERS=1200
        ;;
+      13.*)                    # Next Mac OS X
+       LSOF_VERS=1300
+       ;;
       *)
        echo Unknown Darwin release: `uname -r`
-       echo Assuming Darwin 11.0
-       LSOF_VERS=1100
+       echo Assuming Darwin 12.0
+       LSOF_VERS=1200
        ;;
       esac     # }
     fi # }
@@ -924,7 +927,7 @@ case $LSOF_TGT in   # {
       LSOF_CFGF="$LSOF_CFGF -DHASIPv6"
       LSOF_TMP1="net/ndrv_var.h net/raw_cb.h netinet/ip_var.h netinet/tcp_var.h sys/eventvar.h sys/file_internal.h sys/mount_internal.h sys/proc_internal.h sys/vnode_internal.h"
       ;;
-    900|1000|1100)
+    900|1000|1100|1200)
       LSOF_CFGF="$LSOF_CFGF -DHASIPv6"
       LSOF_TMP1=""
       LSOF_UNSUP=""
@@ -934,7 +937,7 @@ case $LSOF_TGT in   # {
        LSOF_CFGF="$LSOF_CFGF -DNEEDS_MACH_PORT_T"
       fi       # }
       ;;
-    1200)
+    1300)
       LSOF_CFGF="$LSOF_CFGF -DHASIPv6"
       LSOF_TMP1=""
       ;;
@@ -1617,6 +1620,10 @@ kernel generation process.
        LSOF_TSTBIGF=" "
        LSOF_VERS=11000
        ;;
+      12*)
+       LSOF_TSTBIGF=" "
+       LSOF_VERS=12000
+       ;;
       *)
        echo Unknown FreeBSD release: `uname -r`
        rm -f $LSOF_HLP
@@ -1628,37 +1635,36 @@ kernel generation process.
     # Clear LSOF_UNSUP message for supported versions of FreeBSD.
     
     case $LSOF_VERS in  # {
-    4090|8020|8030|8040|9000|10000|11000)
+    4090|8020|8030|8040|9000|10000|11000|12000)
       LSOF_UNSUP=""
       ;;
     esac       # }
 
-    # Get system CFLAGS from FREEBSD_MAKE_CONF (default=/etc/make.conf).
+    # Get system CFLAGS, if possible.
 
-    if test "X$FREEBSD_MAKE_CONF" = "X"        # {
-    then
-      FREEBSD_MAKE_CONF="/etc/make.conf"
-    fi # }
-    if test -r $FREEBSD_MAKE_CONF      # {
-    then
-      LSOF_TMP1=`echo "all:\n.include <bsd.prog.mk>" | $LSOF_MAKE -f- -VCFLAGS`
-      LSOF_TMP=1
-      while test $LSOF_TMP -eq 1       # {
-      do
-       echo $LSOF_TMP1 | grep -q -e '-O'
-       if test $? -eq 0        # {
-       then
-         if test "X$LSOF_DEBUG" = "X"
+    LSOF_TMP1=`echo "all:\n.include <bsd.prog.mk>" | $LSOF_MAKE -f- -VCFLAGS`
+    LSOF_TMP=1
+    while test $LSOF_TMP -eq 1 # {
+    do
+      echo $LSOF_TMP1 | grep -q -e '-O'
+      if test $? -eq 0 # {
+      then
+       if test "X$LSOF_DEBUG" = "X"
          then  # {
            LSOF_DEBUG=`echo $LSOF_TMP1 | sed 's/.*\(-O[^ $]*\).*/\1/'`
-         fi    # }
-         LSOF_TMP1=`echo $LSOF_TMP1 | sed 's/\(.*\)-O[^ $]*\(.*\)/\1 \2/' | sed 's/^  *//g' | sed 's/  */ /g' | sed 's/  *$//'`
-       else
-         LSOF_TMP=0
-       fi      # }
-       LSOF_FBSD_ZFS_CFGF="$LSOF_CFGF $LSOF_TMP1"
-      done     # }
-      LSOF_CFGF="$LSOF_CFGF $LSOF_TMP1"
+        fi     # }
+       LSOF_TMP1=`echo $LSOF_TMP1 | sed 's/\(.*\)-O[^ $]*\(.*\)/\1 \2/' | sed 's/^  *//g' | sed 's/  */ /g' | sed 's/  *$//'`
+      else
+       LSOF_TMP=0
+      fi       # }
+      LSOF_FBSD_ZFS_CFGF="$LSOF_CFGF $LSOF_TMP1"
+    done       # }
+    LSOF_CFGF="$LSOF_CFGF $LSOF_TMP1"
+    echo $LSOF_CFGF | grep -q NEEDS_BOOL_TYPEDEF
+    if test $? -ne 0
+    then       # {
+      LSOF_CFGF="$LSOF_CFGF -DNEEDS_BOOL_TYPEDEF"
+      LSOF_FBSD_ZFS_CFGF="$LSOF_FBSD_ZFS_CFGF -DNEEDS_BOOL_TYPEDEF"
     fi # }
 
     # Determine path to FreeBSD sources.
@@ -1705,6 +1711,22 @@ kernel generation process.
       fi       # }
     fi # }
 
+    # Check the C library for closefrom and dup2.
+
+      if test -r /usr/lib/libc.a       # {
+      then
+       nm /usr/lib/libc.a | grep -q "W dup2"
+       if test $? -eq 0        # {
+       then
+         LSOF_CFGF="$LSOF_CFGF -DHAS_DUP2"
+       fi      # }
+       nm /usr/lib/libc.a | grep -q "W closefrom"
+       if test $? -eq 0        # {
+       then
+         LSOF_CFGF="$LSOF_CFGF -DHAS_CLOSEFROM"
+       fi      # }
+      fi       # }
+
     # Do FreeBSD version-specific stuff.
 
     case $LSOF_VERS in # {
@@ -1884,6 +1906,19 @@ cpumask_t c;
 
        # Do FreeBSD 6.0 and higher version-specific stuff.
 
+         if test -r ${LSOF_INCLUDE}/sys/_types.h       # {
+         then
+           grep __dev_t ${LSOF_INCLUDE}/sys/_types.h | grep -q 64
+           if test $? -eq 0    # {
+           then
+             if test "X$LSOF_TSTDFLG" = "X"    # {
+             then
+               LSOF_TSTDFLG="-DLT_DEV64"
+             else
+               LSOF_TSTDFLG="$LSOF_TSTDFLG -DLT_DEV64"
+             fi        # }
+           fi  # }
+         fi    # }
          if test -r ${LSOF_INCLUDE}/ufs/ufs/inode.h    # {
          then
            grep -q i_din2 ${LSOF_INCLUDE}/ufs/ufs/inode.h
@@ -1891,6 +1926,11 @@ cpumask_t c;
            then
              LSOF_CFGF="$LSOF_CFGF -DHAS_UFS1_2"
            fi  # }
+           grep -q i_dev ${LSOF_INCLUDE}/ufs/ufs/inode.h
+           if test $? -ne 0    # {
+           then
+             LSOF_CFGF="$LSOF_CFGF -DHAS_NO_IDEV"
+           fi  # }
          fi    # }
          if test -r ${LSOF_INCLUDE}/sys/conf.h # {
          then
@@ -1956,6 +1996,12 @@ FBSD_MINOR3
            LSOF_CFGF="$LSOF_CFGF -DHAS_SYS_SX_H"
          fi    # }
 
+       # Do FUSE file system test,
+
+         if test -r ${FREEBSD_SYS}/fs/fuse/fuse_node.h # {
+         then
+           LSOF_CFGF="$LSOF_CFGF -DHASFUSEFS"
+         fi    # }
        # Do ZFS test.  Try for the newer OpenSolaris files first -- i.e.,
        # the ones in ${FREEBSD_SYS}/cddl/contrib/opensolaris.  If that fails,
        # try for the older ones in ${FREEBSD}/contrib/opensolaris.
@@ -1997,6 +2043,15 @@ FBSD_MINOR3
                  LSOF_FBSD_ZFS_CFGF="$LSOF_FBSD_ZFS_CFGF -DHAS_CV_TIMEDWAIT_SBT"
                fi      # }
            fi  #}
+           if test -r /usr/include/sys/random.h        # {
+           then
+             grep -q opt_random.h /usr/include/sys/random.h
+             if test $? -eq 0  # {
+             then
+               rm -f opt_random.h
+               touch opt_random.h
+             fi        # }
+           fi  # }
          fi    # }
          if test -r ${LSOF_INCLUDE}/sys/vnode.h        # {
          then
@@ -2115,10 +2170,37 @@ LOCKF_OWNER4
              then
                LSOF_CFGF="$LSOF_CFGF -DNEEDS_BOOLEAN_T"
              fi        # }
-           fi  # |
+           fi  # }
+           if test -r ${LSOF_INCLUDE}/sys/sockbuf.h    # {
+           then
+             grep -q 'u_int    sb_ccc;' ${LSOF_INCLUDE}/sys/sockbuf.h
+             if test $? -eq 0  # {
+             then
+               LSOF_CFGF="$LSOF_CFGF -DHAS_SB_CCC"
+             fi        # }
+           fi  # }
+           if test -r ${LSOF_INCLUDE}/sys/filedesc.h   # {
+           then
+             grep -q '^struct fdescenttbl {' ${LSOF_INCLUDE}/sys/filedesc.h
+             if test $? -eq 0  # {
+             then
+               LSOF_CFGF="$LSOF_CFGF -DHAS_FDESCENTTBL"
+             fi        # }
+           fi  # }
          fi    # }
        fi      # }
       fi       # }
+      if test $LSOF_VERS -eq 10000     # {
+      then
+
+      # Do specific FreeBSD 10 version-specific stuff.
+
+       LSOF_TMP1=`uname -m`
+       if test "X$LSOF_TMP1" = "Xi386" # {
+       then
+         LSOF_CFGF="$LSOF_CFGF -DNEEDS_BOOL_TYPEDEF"
+       fi      # }
+      fi       # }
       ;;
     esac       # }
     LSOF_CFGF="$LSOF_CFGF -DFREEBSDV=$LSOF_VERS"
@@ -2868,6 +2950,17 @@ return(0); }
       LSOF_CFGF="$LSOF_CFGF -DHASNORPC_H"
     fi # }
 
+    # Test for TCP_* symbols.
+
+    if test -r ${LSOF_INCLUDE}/netinet/tcp.h   # (
+    then
+      grep -q TCP_ESTABLISHED ${LSOF_INCLUDE}/netinet/tcp.h
+      if test $? -eq 0 # {
+      then
+       LSOF_CFGF="$LSOF_CFGF -DNEEDS_NETINET_TCPH"
+      fi       #}
+    fi # }
+
     # Test for SELinux support.
 
     LSOF_TMP1=0
@@ -2888,6 +2981,24 @@ return(0); }
       LSOF_CFGF="$LSOF_CFGF -DHASSELINUX"
       LSOF_CFGL="$LSOF_CFGL -lselinux"
     fi # }
+
+  # Test for UNIX socket endpoint support.
+
+    if test -r ${LSOF_INCLUDE}/linux/sock_diag.h -a -r ${LSOF_INCLUDE}/linux/unix_diag.h  # {
+    then
+      LSOF_CFGF="$LSOF_CFGF -DHASUXSOCKEPT"
+    fi # }
+
+  # Test for pseudoterminal endpoint support.
+
+    if test -r ${LSOF_INCLUDE}/linux/major.h # {
+    then
+      grep -q TTYAUX_MAJOR ${LSOF_INCLUDE}/linux/major.h
+      if test $? -eq 0 # {
+      then
+       LSOF_CFGF="$LSOF_CFGF -DHASPTYEPT"
+      fi       # }
+    fi # }
     LSOF_DIALECT_DIR="linux"
     LSOF_CFGF="$LSOF_CFGF -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE"
     ;;
@@ -4821,6 +4932,14 @@ return(0); }
            LSOF_CFGF="$LSOF_CFGF -DHAS_PC_DIRENTPERSEC"
          fi    # }
        fi      # }
+       if test -r ${LSOF_INCLUDE}/sys/aio_req.h        # {
+       then
+         grep "struct[         ]aio_req" ${LSOF_INCLUDE}/sys/aio_req.h > /dev/null 2>&1
+         if test $? -eq 0      # {
+         then
+           LSOF_CFGF="$LSOF_CFGF -DHAS_AIO_REQ_STRUCT"
+         fi    # }
+       fi      # }
       fi       # }
       if test -r ${LSOF_INCLUDE}/sys/zone.h    # {
       then