Bump to lsof 4.91
[platform/upstream/lsof.git] / Configure
index 005d05b..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.162 2013/01/02 17:13:48 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
@@ -104,6 +104,8 @@ LSOF_VF=version
 #      $LSOF_NBSD_BUFQH    NetBSD <sys/bufq.h> copy status
 #      $LSOF_NBSD_PTYFS    NetBSD ${NETBSD_SYS}/sys/fs/ptyfs/ copy status
 #      $LSOF_N_UNIXV       *BSD system's kernel file
+#      $LSOF_OPINC         supplies additional -I/path arguments for the
+#                          Makefile's CFLAGS.
 #      $LSOF_PL            patch level
 #      $LSOF_RANLIB        randomizing command for the lsof library
 #      $LSOF_RANLIB_SUP    if non-NULL $LSOF_RANLIB was supplied
@@ -132,6 +134,7 @@ LSOF_VF=version
 #      $LSOF_TSTXO         test extra objects (for $LSOF_TSTXOC)
 #      $LSOF_TSTXOC        test extra objects file
 #      $LSOF_UNSUP         Lsof is unsupported on this dialect
+#      $LSOF_UNSUP2        Second message about lack of support
 #      $LSOF_VERS          Unix dialect version as a decimal number (may
 #                          be supplied externally)
 #      $LSOF_VSTR          Unix dialect version as a string -- may be supplied
@@ -199,6 +202,7 @@ LSOF_TSTVPATH=0
 LSOF_TSTXO=""
 LSOF_TSTXOC="${LSOF_TSTSUBD}/config.xobj"
 LSOF_UNSUP="WARNING: unsupported dialect or version"
+LSOF_UNSUP2=""
 if test "X$LSOF_VERS" = "X"    # {
 then
   LSOF_VERS=""
@@ -289,6 +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 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
@@ -883,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 # }
@@ -918,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=""
@@ -928,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=""
       ;;
@@ -1595,6 +1604,10 @@ kernel generation process.
        LSOF_TSTBIGF=" "
        LSOF_VERS=8030
        ;;
+      8.4*)
+       LSOF_TSTBIGF=" "
+       LSOF_VERS=8040
+       ;;
       9*)
        LSOF_TSTBIGF=" "
        LSOF_VERS=9000
@@ -1603,6 +1616,14 @@ kernel generation process.
        LSOF_TSTBIGF=" "
        LSOF_VERS=10000
        ;;
+      11*)
+       LSOF_TSTBIGF=" "
+       LSOF_VERS=11000
+       ;;
+      12*)
+       LSOF_TSTBIGF=" "
+       LSOF_VERS=12000
+       ;;
       *)
        echo Unknown FreeBSD release: `uname -r`
        rm -f $LSOF_HLP
@@ -1614,37 +1635,36 @@ kernel generation process.
     # Clear LSOF_UNSUP message for supported versions of FreeBSD.
     
     case $LSOF_VERS in  # {
-    4090|8020|8030|9000|10000)
+    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.
@@ -1680,6 +1700,33 @@ kernel generation process.
       exit 1
     fi # }
 
+    # Test pause() status in system.h.
+
+    if test -r ${FREEBSD_SYS}/sys/systm.h      # {
+    then
+      grep -q pause_sbt ${FREEBSD_SYS}/sys/systm.h
+      if test $? -eq 0 # {
+      then
+       LSOF_CFGF="$LSOF_CFGF -DHAS_PAUSE_SBT"
+      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 # {
@@ -1771,6 +1818,18 @@ kernel generation process.
            fi  # }
          fi    # }
        fi      # }
+       if test -r ${FREEBSD_SYS}/sys/filedesc.h        # {
+       then
+         grep -q filedescent ${FREEBSD_SYS}/sys/filedesc.h
+         if test $? -eq 0      # {
+         then
+           LSOF_CFGF="$LSOF_CFGF -DHAS_FILEDESCENT"
+         fi    # }
+       fi      # }
+       if test -r ${FREEBSD_SYS}/fs/tmpfs/tmpfs.h      # {
+       then
+           LSOF_CFGF="$LSOF_CFGF -DHAS_TMPFS"
+       fi      #}
 
       # Do FreeBSD 5.2 and higher version-specific stuff.
 
@@ -1847,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
@@ -1854,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
@@ -1919,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.
@@ -1943,6 +2026,32 @@ FBSD_MINOR3
            then
              LSOF_FBSD_ZFS_CFGF="$LSOF_FBSD_ZFS_CFGF -DHAS_Z_PHYS"
            fi  # }
+           if test -r ${LSOF_FBSD_ZFS_SYS}/compat/opensolaris/sys/sdt.h  #{
+           then
+             grep -q opt_kdtrace.h ${LSOF_FBSD_ZFS_SYS}/compat/opensolaris/sys/sdt.h
+             if test $? -eq 0  # {
+             then
+               rm -f opt_kdtrace.h
+               touch opt_kdtrace.h
+             fi        # }
+           fi  # }
+           if test -r ${LSOF_FBSD_ZFS_SYS}/compat/opensolaris/sys/kcondvar.h #{
+           then
+               grep -q cv_timedwait_sbt ${LSOF_FBSD_ZFS_SYS}/compat/opensolaris/sys/kcondvar.h
+               if test $? -eq 0        # {
+               then
+                 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
@@ -2061,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"
@@ -2814,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
@@ -2834,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"
     ;;
@@ -4767,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
@@ -4952,6 +5125,10 @@ return(0); }
     if test $LSOF_TMP1 -eq 1   # {
     then
 
+    # Warn that VxFS is unsupported.
+
+      LSOF_UNSUP2="WARNING: VxFS is no longer supported by Solaris lsof."
+
     # The VxFS header files are for VxFS version 3.4 or above.  Enable VxFS
     # for those versions.
 
@@ -5438,6 +5615,10 @@ else
   fi   # }
 fi     # }
 echo "DEBUG=   $LSOF_DEBUG" >> $LSOF_MKFC
+if test "X$LSOF_OPINC" != "X"  # {
+then
+  LSOF_DINC="$LSOF_DINC $LSOF_OPINC"
+fi     # }
 if test "X$LSOF_DINC" != "X"   # {
 then
   echo "" >> $LSOF_MKFC
@@ -5594,10 +5775,14 @@ then
   ./Customize $LSOF_DIALECT_DIR
 fi     # }
 
-# Issue unsupported warning, as appropriate.
+# Issue unsupported warnings, as appropriate.
 
 if test "X$LSOF_UNSUP" != "X"  # {
 then
   echo "$LSOF_UNSUP"
 fi     #}
+if test "X$LSOF_UNSUP2" != "X" # {
+then
+  echo "$LSOF_UNSUP2"
+fi     #}
 exit 0