#!/bin/sh
LSOF_F="ddev.c dfile.c dlsof.h dmnt.c dnode*.c dproc.c dproto.h dsock.c dstore.c kernelbase.h machine.h machine.h.old new_machine.h __lseek.s"
LSOF_HLP_BASE=./cfghlp.
LSOF_HLP=${LSOF_HLP_BASE}$$
LSOF_MK=Mksrc
if test "X$LSOF_MKFC" = "X" then
LSOF_MKFC=Makefile
fi
LSOF_LIB=lib
LSOF_MKF=Makefile
LSOF_LIBMKF=Makefile
LSOF_LIBMKFSKEL=Makefile.skel
LSOF_VF=version
if test "X$AFS_VICE" = "X" then
AFS_VICE="/usr/vice"
fi LSOF_AFS=""
LSOF_AFS_NQ=""
LSOF_AFSV=""
if test "X$LSOF_ARCH" = "X" then
LSOF_ARCH=""
fi LSOF_CDIR=""
LSOF_CFGD=""
LSOF_CFGDN=""
LSOF_CFGF=""
LSOF_CFGL=""
LSOF_CINFO=""
LSOF_DEBUG=""
LSOF_DOC=""
LSOF_ERR=""
LSOF_FCFGL=""
LSOF_HOST=""
if test "X$LSOF_INCLUDE" = "X" then
LSOF_DINC=""
LSOF_INCLUDE="/usr/include"
else
LSOF_DINC="-I$LSOF_INCLUDE"
fi LSOF_LD=""
LSOF_LIB_NO=""
LSOF_LINUX_INCL=""
LSOF_PL=""
LSOF_RANLIB="ranlib \${LIB}"
LSOF_SCRIPT_CALL="yes"
LSOF_SPMKF=""
LSOF_TMP1=""
LSOF_TMP2=""
LSOF_TMPC_BASE=./lsof_Configure_tmp_
LSOF_TMPC=${LSOF_TMPC_BASE}$$
LSOF_TSTBIGF=""
LSOF_TSTSUBD="./tests"
LSOF_TSTCC="${LSOF_TSTSUBD}/config.cc"
LSOF_TSTCFLG="${LSOF_TSTSUBD}/config.cflags"
LSOF_TSTDFLG=""
LSOF_TSTK64=0
LSOF_TSTKMEM=1
LSOF_TSTLFF="${LSOF_TSTSUBD}/config.ldflags"
LSOF_TSTLFLG=""
LSOF_TSTVPATH=0
LSOF_TSTXO=""
LSOF_TSTXOC="${LSOF_TSTSUBD}/config.xobj"
if test "X$LSOF_VERS" = "X" then
LSOF_VERS=""
fi if test "X$LSOF_VSTR" = "X" then
LSOF_VSTR=""
fi
trap 'rm -f ${LSOF_HLP_BASE}* ${LSOF_TMPC_BASE}*; exit 1' 1 2 3 15
rm -f $LSOF_HLP
cat > $LSOF_HLP << LSOF_HLP
Usage: Configure <options> <target-dialect>
<options>: -clean : clean up previous configuration
-d|-dialects : display a list of supported dialect versions
-h|-help : display help information
-n : avoid AFS, customization, and inventory checks
<target-dialect> (****USE -d TO GET TESTED DIALECT VERSION NUMBERS****):
aix|aixgcc : IBM AIX xlc (aix) or gcc (aixgcc)
darwin : Apple Darwin
decosf : DEC OSF/1
digital_unix|du : Digital UNIX
freebsd : FreeBSD
hpux|hpuxgcc : HP-UX cc (hpux) or gcc (hpuxgcc)
linux : Linux
netbsd : NetBSD
nextstep|next|ns|nxt : NEXTSTEP
openbsd : OpenBSD
openstep|os : OPENSTEP
osr|sco : SCO OpenServer < 6.0.0, SCO devloper's compiler
osrgcc|scogcc : SCO OpenServer < 6.0.0, gcc compiler
osr6 : SCO OpenServer 6.0.0, SCO compiler
solaris|solariscc : Solaris gcc (solaris) or cc (solariscc)
tru64 : Tru64 UNIX
unixware|uw : SCO|Caldera UnixWare
LSOF_HLP
LSOF_TGT="no-target"
args=$while test $args -gt 0 do
case $1 in -clean)
if test -r $LSOF_MKFC then
echo "make -f $LSOF_MKFC clean"
make -f $LSOF_MKFC clean
else
if test -r ${LSOF_LIB}/${LSOF_LIBMKF} then
echo "(cd ${LSOF_LIB}; make -f ${LSOF_LIBMKF} clean)"
(cd ${LSOF_LIB}; make -f ${LSOF_LIBMKF} clean)
else
if test -r ${LSOF_LIB}/${LSOF_LIBMKF}.skel then
echo "(cd ${LSOF_LIB}; make -f ${LSOF_LIBMKF}.skel clean)"
(cd ${LSOF_LIB}; make -f ${LSOF_LIBMKF}.skel clean)
fi fi fi if test -r ${LSOF_TSTSUBD}/Makefile then
echo "(cd ${LSOF_TSTSUBD}; make spotless)"
(cd ${LSOF_TSTSUBD}; make spotless)
else
echo '(cd ${LSOF_TSTSUBD}; rm *.o config.*)'
(cd ${LSOF_TSTSUBD}; rm *.o config.*)
fi rm -f $LSOF_F $LSOF_MKFC ${LSOF_TMPC_BASE}*
echo rm -f $LSOF_F $LSOF_MKFC ${LSOF_TMPC_BASE}*
rm -rf AFSHeaders AFSVersion version.h
echo "rm -rf AFSHeaders AFSVersion version.h"
rm -f ${LSOF_HLP_BASE}* cd9660_node.h
echo "rm -f ${LSOF_HLP_BASE}* cd9660_node.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 echo "rm -f dialects/sun/solaris10" rm -f dialects/du/du5_sys_malloc.h
echo "rm -f dialects/du/du5_sys_malloc.h"
rm -f dialects/hpux/kmem/hpux_mount.h
echo "rm -f dialects/hpux/kmem/hpux_mount.h"
rm -rf dialects/n+obsd/include
echo "rm -rf dialects/n+obsd/include"
rm -f dialects/uw/uw7/vm/swap.h
echo "rm -f dialects/uw/uw7/vm/swap.h"
rm -f ${LSOF_LIB}/${LSOF_LIBMKF}
echo "rm -f ${LSOF_LIB}/${LSOF_LIBMKF}"
exit 0
;;
-d|-dialects)
if test -r ./00DIALECTS -a -r ./version then
V=`sed '/VN/s/.ds VN \(.*\)/\1/' version`
echo "lsof $V has been *tested* on these UNIX dialect versions:"
cat 00DIALECTS
echo Although "$V hasn't been tested on other versions of these dialects,"
echo "it may work. Try \`Configure <dialect>\` and \`make\` to see."
rm -f $LSOF_HLP
exit 0
else
echo "Can't display UNIX dialect version information:"
if test ! -r ./00DIALECTS then
echo " ./00DIALECTS is inaccessible."
fi if test ! -r ./version then
echo " ./version is inaccessible."
fi rm -f $LSOF_HLP
exit 1
fi ;;
-h|-help) cat $LSOF_HLP
rm -f $LSOF_HLP
exit 0
;;
-n*)
LSOF_SCRIPT_CALL="no"
;;
*)
if test $LSOF_TGT != no-target then
echo "Only one dialect may be configured at a time."
echo 'Both "$LSOF_TGT" and "$1" were specified.'
cat $LSOF_HLP
rm -f $LSOF_HLP
exit 1
else
LSOF_TGT=$1
fi ;;
esac shift
args=`expr $args - 1`
done
case $LSOF_TGT in no-target)
echo "No target dialect was specified."
cat $LSOF_HLP
rm -f $LSOF_HLP
exit 1
;;
aix|aixgcc)
LSOF_RANLIB="@echo \\\\\\\\c" if test "X$LSOF_VSTR" = "X" then
LSOF_TMP1=`uname -v`
if test "X$LSOF_TMP1" = "X5" then
LSOF_VSTR=`uname -r | awk '{printf "5.%d.0.0\n",\$1}'`
echo "Uname reports the version is $LSOF_VSTR."
else
LSOF_TMP1=/usr/bin/oslevel
if test -x $LSOF_TMP1 then
echo "Determining AIX version with $LSOF_TMP1."
echo "This may take a while, depending on your maintenance level."
LSOF_VSTR=`$LSOF_TMP1 | sed 's/[^0-9]*\([0-9\.]*\).*/\1/'`
echo "$LSOF_TMP1 reports the version is $LSOF_VSTR."
else
LSOF_VSTR=`uname -rv | awk '{printf "%d.%d.0.0\n",\$2,\$1}'`
echo "WARNING: can't execute $LSOF_TMP1; uname -rv reports"
echo " the version is $LSOF_VSTR; edit CFGF in Makefile and"
echo " lib/Makefile to refine AIXV and LSOF_VSTR."
fi fi fi if test "X$LSOF_VERS" = "X" then
LSOF_VERS=`echo $LSOF_VSTR | sed 's/\.//g'`
fi if test $LSOF_VERS -ge 4320 then
LSOF_TSTBIGF=" "
fi if test "X$LSOF_CC" = "X" then
if test "X$LSOF_TGT" = "Xaixgcc" then
LSOF_CC=gcc
LSOF_CCV=`$LSOF_CC -v 2>&1 | sed -n 's/.*version \(.*\)/\1/p'`
else
LSOF_CC=cc
fi fi LSOF_TGT="aix"
echo $LSOF_CC | grep gcc > /dev/null
if test $? -eq 0 then
if test $LSOF_VERS -lt 4100 then
echo "********************************************************"
echo "* Sorry, but gcc can't be used to compile lsof for AIX *"
echo "* versions less than 4.1, because of possible kernel *"
echo "* structure alignment differences between it and xlc. *"
echo "********************************************************"
rm -f $LSOF_HLP
exit 1
fi fi
if test "X$AIX_HAS_AFS" != "X" then
LSOF_AFS=$AIX_HAS_AFS
fi if test "X$LSOF_AFS" != "Xno" then
if test "X$LSOF_AFS" = "Xyes" -o -r ${AFS_VICE}/etc/ThisCell then
if test "X$LSOF_AFS" != "Xyes" then
if test "X$LSOF_SCRIPT_CALL" = "Xno" then
if test -r ./AFSHeaders -a -r ./AFSVersion then
LSOF_AFS="yes"
fi else
if test ! -x ./AFSConfig then
echo "Can't find or execute the AFSConfig script"
rm -f $LSOF_HLP
exit 1
fi ./AFSConfig
if test $? -eq 0 -a -r ./AFSHeaders -a -r ./AFSVersion then
LSOF_AFS="yes"
fi fi fi if test "X$LSOF_AFS" = "Xyes" then
if test "X$LSOF_AFSV" = "X" then
if test -r ./AFSVersion then
LSOF_AFSV=`cat ./AFSVersion | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1 \2/' | awk '{printf "%d%02d\n",\$1,\$2}'`
else
echo "!!!FATAL: no ./AFSVersion file. It should have been"
echo " created by a previous AFS configuration run."
rm -f $LSOF_HLP
exit 1
fi fi if test $LSOF_VERS -gt 4330 -o LSOF_AFSV -gt 305 then
echo "!!!FATAL: Lsof does not support AFS on this combination of"
echo " AIX ($LSOF_VERS) and AFS ($LSOF_AFSV) versions."
echo " To disable AFS, set the value of the AIX_HAS_AFS"
echo " environment variable to \"no\"."
rm -f $LSOF_HLP
exit 1
else
LSOF_CFGF="$LSOF_CFGF -DHAS_AFS=$LSOF_AFSV"
LSOF_DINC="$LSOF_DINC -I`cat ./AFSHeaders`"
if test -r ${LSOF_INCLUDE}/sys/inttypes.h then
grep "^typedef.*int16;" ${LSOF_INCLUDE}/sys/inttypes.h > /dev/null
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASINT16TYPE"
fi grep "^typedef.*u_int32;" ${LSOF_INCLUDE}/sys/inttypes.h > /dev/null
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASUINT16TYPE"
fi grep "^typedef.*int32;" ${LSOF_INCLUDE}/sys/inttypes.h > /dev/null
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASINT32TYPE"
fi fi fi fi fi fi
if test -d ${LSOF_INCLUDE}/nfs then
LSOF_CFGF="$LSOF_CFGF -DHAS_NFS"
fi echo $LSOF_CC | grep cc | grep -v gcc > /dev/null
if test $? -eq 0 -a $LSOF_VERS -ge 4140 -a $LSOF_VERS -lt 5000 then
LSOF_CFGL="$LSOF_CFGL -bnolibpath"
fi if test -r ${LSOF_INCLUDE}/sys/socket.h then
grep AF_INET6 ${LSOF_INCLUDE}/sys/socket.h > /dev/null
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASIPv6"
fi fi if test -r ${LSOF_INCLUDE}/sys/stat.h then
grep stat64 ${LSOF_INCLUDE}/sys/stat.h > /dev/null
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASSTAT64"
fi fi if test $LSOF_VERS -ge 5000 then
if test -d ${LSOF_INCLUDE}/j2 then
rm -f dialects/aix/aix5/j2/j2_snapshot.h
(cd dialects/aix/aix5/j2; ln -s private_j2_snapshot.h j2_snapshot.h)
LSOF_CFGF="$LSOF_CFGF -DHAS_JFS2"
LSOF_CFGF="$LSOF_CFGF -I`pwd`/dialects/aix/aix5"
if test $LSOF_VERS -ge 5200 then
if test -r ${LSOF_INCLUDE}/j2/j2_snapshot.h then
rm -f dialects/aix/aix5/j2/j2_snapshot.h
fi echo $LSOF_CC | grep gcc > /dev/null
if test $? -eq 0 then
LSOF_TMP1=`echo $LSOF_CCV | awk -F . '{printf "%d%02d",$1,$2}'`
if test $LSOF_TMP1 -ge 303 then
LSOF_CFGF="$LSOF_CFGF -fms-extensions"
fi fi fi fi
if test "X$AIX_ARCH" = "X" then
uname -a | grep -i ia64 > /dev/null
if test $? -eq 0 then
AIX_ARCH="ia64"
else
AIX_ARCH=""
fi fi if test "X$AIX_ARCH" = "Xia64" then
LSOF_TSTK64=1
echo $LSOF_CC | grep gcc > /dev/null
if test $? -eq 0 then
echo "*************************************************************"
echo "* *"
echo "* !!!!!!!!!!!!!!!!!!!!! FATAL ERROR !!!!!!!!!!!!!!!!!!!!!!! *"
echo "* *"
echo "* Gcc can't be used to compile lsof for AIX 5 and above on *"
echo "* the ia64 architecture. Consult lsof's FAQ (in the file *"
echo "* 00FAQ) for more information. *"
echo "* *"
echo "*************************************************************"
rm -f $LSOF_HLP
exit 1
fi LSOF_TMP1=2
if test "X$LSOF_AR" = "X" then
LSOF_AR="/usr/bin/ar cr"
fi LSOF_CFGF="$LSOF_CFGF -q64"
LSOF_CFGL="$LSOF_CFGL -lelf"
else
echo $LSOF_CC | grep cc | grep -v gcc > /dev/null
if test $? -eq 0 then
LSOF_CFGL="$LSOF_CFGL -bnolibpath"
fi if test "X$AIX_KERNBITS" = "X" then
rm -f ${LSOF_TMPC}.*
echo "#include <sys/systemcfg.h>" > ${LSOF_TMPC}.c
echo 'main(){ if (__KERNEL_32()) printf("32\\n");' >> ${LSOF_TMPC}.c
echo 'else if (__KERNEL_64()) printf("64\\n");' >> ${LSOF_TMPC}.c
echo 'else printf("0\\n");' >> ${LSOF_TMPC}.c
echo "return(0); }" >> ${LSOF_TMPC}.c
echo "Testing kernel bit size with $LSOF_CC"
$LSOF_CC ${LSOF_TMPC}.c -o ${LSOF_TMPC}.x
if test ! -x ${LSOF_TMPC}.x then
echo "!!!FATAL: can't compile test program, ${LSOF_TMPC}.c."
rm -f $LSOF_HLP rm -f ${LSOF_TMPC}.*
exit 1
fi AIX_KERNBITS=`./${LSOF_TMPC}.x`
rm -f ${LSOF_TMPC}.*
fi
case $AIX_KERNBITS in 32)
if test "X$LSOF_AR" = "X" then
LSOF_AR="/usr/bin/ar cr"
fi LSOF_TMP1=0
;;
64)
if test "X$LSOF_AR" = "X" then
LSOF_AR="/usr/bin/ar -X 64 -v -q"
fi LSOF_TSTK64=1
LSOF_TMP1=1
echo $LSOF_CC | grep gcc > /dev/null
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -maix64"
else
LSOF_CFGF="$LSOF_CFGF -q64"
fi ;;
*)
echo "!!!FATAL: unrecognized kernel bit size: $AIX_KERNBITS"
rm -f $LSOF_HLP
exit 1
esac
echo "Kernel bit size: $AIX_KERNBITS"
LSOF_TMP2="${AIX_KERNBITS} bit kernel"
if test "X$LSOF_CINFO" != "X" then
LSOF_CINFO="${LSOF_CINFO} ${LSOF_TMP2}"
else
LSOF_CINFO="${LSOF_TMP2}"
fi LSOF_CFGF="${LSOF_CFGF} -DAIX_KERNBITS=${AIX_KERNBITS}"
fi LSOF_CFGF="$LSOF_CFGF -DAIXA=$LSOF_TMP1"
if test "X$LSOF_TSTDFLG" = "X" then
LSOF_TSTDFLG="-DLT_AIXA=$LSOF_TMP1"
else
LSOF_TSTDFLG="$LSOF_TSTDFLG -DLT_AIXA=$LSOF_TMP1"
fi else
LSOF_CFGF="$LSOF_CFGF -DAIXA=0"
if test "X$LSOF_TSTDFLG" = "X" then
LSOF_TSTDFLG="-DLT_AIXA=0"
else
LSOF_TSTDFLG="$LSOF_TSTDFLG -DLT_AIXA=0"
fi fi LSOF_CFGF="$LSOF_CFGF -DAIXV=$LSOF_VERS"
LSOF_DIALECT_DIR=aix
echo $LSOF_CC | grep gcc > /dev/null
if test $? -eq 0 then
if test $LSOF_VERS -ge 4100 -a $LSOF_VERS -lt 4200 then
if test "X$AIX_USHACK" = "X" then
rm -f ${LSOF_TMPC}.*
echo "#include <stddef.h>" > ${LSOF_TMPC}.c
echo "#include <sys/user.h>" >> ${LSOF_TMPC}.c
echo "main(){exit((offsetof(struct user, U_irss) & 0x7) ? 1 : 0);}" >>${LSOF_TMPC}.c
echo "Testing user.h with $LSOF_CC"
$LSOF_CC ${LSOF_TMPC}.c -o ${LSOF_TMPC}.x
if ! ${LSOF_TMPC}.x then
LSOF_TMP1=1
else
LSOF_TMP1=0
fi rm -f ${LSOF_TMPC}.*
else
if test "$AIX_USHACK" = "Y" -o "$AIX_USHACK" = "y" then
LSOF_TMP1=1
else
LSOF_TMP1=0
fi fi if test ${LSOF_TMP1} -eq 1 then
echo "Applying gcc AIX 4.1+ user struct alignment hack"
rm -rf ./dialects/aix/aix$LSOF_VERS
mkdir ./dialects/aix/aix$LSOF_VERS
mkdir ./dialects/aix/aix${LSOF_VERS}/sys
sed 's/U_irss\[/dummy_for_alignment, U_irss\[/' < ${LSOF_INCLUDE}/sys/user.h > ./dialects/aix/aix${LSOF_VERS}/sys/user.h
LSOF_CFGF="$LSOF_CFGF -U_LONG_LONG -I`pwd`/dialects/aix/aix$LSOF_VERS"
fi fi else
rm -f ${LSOF_TMPC}.*
echo "main(){}" > ${LSOF_TMPC}.c
echo "Getting version number of ${LSOF_CC}."
$LSOF_CC -c ${LSOF_TMPC}.c -I${LSOF_INCLUDE} -o ${LSOF_TMPC}.o -qlist > /dev/null 2>&1
LSOF_CCV=`head -1 ${LSOF_TMPC}.lst | sed 's/\(.*\) ---.*/\1/'`
rm ${LSOF_TMPC}.*
echo "The version is \"${LSOF_CCV}\"."
echo $LSOF_CCV | grep "Version [0-9]" > /dev/null
if test $? -eq 0 then
LSOF_TMP=`echo $LSOF_CCV | sed 's/.*Version \([0-9]*\).*/\1/'`
if test "X$LSOF_TMP" != "X" -a $LSOF_TMP -ge 4 then
if test $LSOF_TMP -ge 6 then
LSOF_CFGF="$LSOF_CFGF -qmaxmem=-1"
else
LSOF_CFGF="$LSOF_CFGF -qmaxmem=16384"
fi fi fi fi ;;
darwin)
if test "X$LSOF_CC" = "X" then
LSOF_CC=cc
LSOF_CCV=`$LSOF_CC -v 2>&1 | sed -n 's/.*version \(.*\)/\1/p'`
fi if test "X$LSOF_VSTR" = "X" then
LSOF_VSTR=`uname -r`
fi if test "X$LSOF_VERS" = "X" then
case $LSOF_VSTR in 1.2*)
LSOF_VERS=120
;;
1.3*)
LSOF_VERS=130
;;
1.4*)
LSOF_VERS=140
;;
5.[012]*)
LSOF_VERS=500
;;
5.[3-9]*)
LSOF_VERS=530
;;
6.*)
LSOF_VERS=600
;;
7.*)
LSOF_VERS=700
;;
8.*)
LSOF_VERS=800
;;
9.*)
LSOF_VERS=900
;;
*)
echo Unknown Darwin release: `uname -r`
echo Assuming Darwin 9.0
LSOF_VERS=900
;;
esac fi
case $LSOF_VERS in 120|130)
LSOF_TMP1="hfs/hfs.h hfs/hfs_macos_defs.h miscfs/devfs/devfsdefs.h miscfs/devfs/devfs_proto.h miscfs/fdesc/fdesc.h"
;;
140|500)
LSOF_TMP1="hfs/hfs.h hfs/hfs_macos_defs.h hfs/rangelist.h miscfs/devfs/devfsdefs.h miscfs/devfs/devfs_proto.h miscfs/fdesc/fdesc.h"
;;
530)
LSOF_TMP1="hfs/hfs.h hfs/hfs_macos_defs.h hfs/rangelist.h miscfs/devfs/devfsdefs.h miscfs/devfs/devfs_proto.h miscfs/fdesc/fdesc.h net/ndrv.h net/ndrv_var.h"
;;
600)
LSOF_CFGF="$LSOF_CFGF -DHASIPv6"
LSOF_TMP1="hfs/hfs.h hfs/hfs_catalog.h hfs/hfs_cnode.h hfs/hfs_macos_defs.h hfs/rangelist.h miscfs/devfs/devfsdefs.h miscfs/devfs/devfs_proto.h miscfs/fdesc/fdesc.h net/ndrv_var.h net/raw_cb.h netinet/ip_var.h netinet/tcp_var.h"
;;
700)
LSOF_CFGF="$LSOF_CFGF -DHASIPv6"
LSOF_TMP1="hfs/hfs.h hfs/hfs_catalog.h hfs/hfs_cnode.h hfs/hfs_macos_defs.h hfs/rangelist.h miscfs/devfs/devfsdefs.h miscfs/devfs/devfs_proto.h miscfs/fdesc/fdesc.h net/ndrv_var.h net/raw_cb.h netinet/ip_var.h netinet/tcp_var.h sys/eventvar.h"
;;
800)
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)
LSOF_CFGF="$LSOF_CFGF -DHASIPv6"
LSOF_TMP1=""
;;
*)
echo "Unsupported Darwin version: $LSOF_VERS"
rm -f $LSOF_HLP
exit 1
;;
esac LSOF_CFGF="$LSOF_CFGF -mdynamic-no-pic"
LSOF_CFGL="-lcurses"
if test "X$DARWIN_XNUDIR" != "X" then
LSOF_TMP2="${DARWIN_XNUDIR}/bsd"
LSOF_TMP3="${DARWIN_XNUDIR}/osfmk"
LSOF_TMP4=""
else
LSOF_TMP2="${DARWIN_XNU_HEADERS}/System/Library/Frameworks/Kernel.framework/Versions/A/PrivateHeaders"
LSOF_TMP3="${DARWIN_XNU_HEADERS}/System/Library/Frameworks/System.framework/Versions/B/PrivateHeaders"
LSOF_TMP4=""
if test "X$DARWIN_XNU_HEADERS" != "X" then
LSOF_TMP4="${DARWIN_XNU_HEADERS}/usr/include"
fi fi
if test "X$DARWIN_BASE" = "X" then
if test -r ${LSOF_INCLUDE}/../local/include/libproc.h -a $LSOF_VERS -ge 800 then
DARWIN_BASE="libproc"
else
DARWIN_BASE="/dev/kmem"
fi fi if test "X$DARWIN_BASE" = "Xlibproc" then
echo "Configuring libproc-based Darwin lsof"
LSOF_CINFO="libproc-based"
LSOF_DIALECT_DIR=darwin/libproc
LSOF_CFGL="$LSOF_CFGL -lproc"
LSOF_TSTKMEM=0
LSOF_TMP1="sys/proc_info.h"
LSOF_TMP2=""
LSOF_DINC="$LSOF_DINC -I${LSOF_INCLUDE}/../local/include"
else
if test "X$DARWIN_BASE" = "X/dev/kmem" then
echo "Configuring /dev/kmem-based Darwin lsof"
LSOF_CINFO="/dev/kmem-based"
LSOF_DIALECT_DIR=darwin/kmem
else
echo "Darwin base unrecognized: $DARWIN_BASE"
rm -f $LSOF_HLP
exit 1
fi fi
LSOF_TMP5=""
for i in $LSOF_TMP1 do
LSOF_TMP6=0
for j in $LSOF_TMP2 $LSOF_TMP3 $LSOF_TMP4 $LSOF_INCLUDE do
if test "X${j}" != "X" -a -r ${j}/${i} then
LSOF_TMP6=1
break
fi done if test $LSOF_TMP6 -ne 1 then
if test "X$LSOF_TMP5" = "X" then
LSOF_TMP5=$i
else
LSOF_TMP5="$LSOF_TMP5 $i"
fi fi done if test "X$LSOF_TMP5" != "X" then
LSOF_TMP6=`pwd`/dialects/darwin/get-hdr-loc.sh
if test ! -x $LSOF_TMP6 then
echo "FATAL: can't execute: $LSOF_TMP6"
rm -f $LSOF_HLP
exit 1
fi DARWIN_XNUDIR=`$LSOF_TMP6 $LSOF_TMP5`
if test $? -ne 0 then
echo "FATAL: $LSOF_TMP6 returns: $DARWIN_XNUDIR"
rm -f $LSOF_HLP
exit 1
fi LSOF_TMP2="${DARWIN_XNUDIR}/bsd"
LSOF_TMP3="${DARWIN_XNUDIR}/osfmk"
LSOF_TMP4=""
fi
for i in $LSOF_TMP2 $LSOF_TMP3 $LSOF_TMP4 $LSOF_INCLUDE do
if test -d $i -a "X$i" != "X/usr/include" then
LSOF_DINC="$LSOF_DINC -I${i}"
fi done if test "X$DARWIN_BASE" = "X/dev/kmem" then
for i in $LSOF_TMP2 $LSOF_TMP3 $LSOF_TMP4 $LSOF_INCLUDE do
if test "X${i}" != "X" -a -r ${i}/sys/namei.h then
grep -q nc_vpid ${i}/sys/namei.h
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASNCVPID"
fi break
fi done for i in $LSOF_TMP2 $LSOF_TMP3 $LSOF_TMP4 $LSOF_INCLUDE do
if test "X${i}" != "X" then
if test $LSOF_VERS -ge 800 then
if test -r ${i}/sys/file_internal.h then
grep -q DTYPE_KQUEUE ${i}/sys/file_internal.h
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASKQUEUE"
fi break
fi else
if test $LSOF_VERS -ge 700 then
if test -r ${i}/sys/file.h then
grep -q DTYPE_KQUEUE ${i}/sys/file.h
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASKQUEUE"
fi fi break
fi fi fi done fi LSOF_CFGF="$LSOF_CFGF -DHAS9660F -DDARWINV=$LSOF_VERS"
LSOF_CFLAGS_OVERRIDE=1
;;
digital_unix|du|decosf|tru64)
LSOF_TGT="du"
LSOF_TSTBIGF=" "
LSOF_TSTK64=1
if test "X$LSOF_DINC" = "X" then
LSOF_DINC="-I/usr/include"
fi if test "X$LSOF_VSTR" = "X" then
LSOF_VSTR=`uname -r`
fi if test "X$LSOF_VERS" = "X" then
case $LSOF_VSTR in V2.0)
LSOF_VERS=20000
;;
V3.0)
LSOF_VERS=30000
;;
V3.2)
LSOF_VERS=30200
;;
?4.0)
LSOF_TSTXO="../lib/snpf.o"
LSOF_VERS=40000
;;
?5.0)
LSOF_VERS=50000
;;
?5.1)
LSOF_VERS=50100
;;
*)
echo "WARNING: unknown version; assuming version is 2.0"
LSOF_VERS=20000
;;
esac fi
case $LSOF_VERS in 20000)
LSOF_CFGF="-Olimit 1024"
LSOF_TMP1="/sys"
;;
30000)
LSOF_CFGF="-Olimit 1024"
LSOF_TMP1="/sys"
LSOF_TMP2=-DUSELOCALREADDIR
;;
30200)
LSOF_CFGF="-Olimit 1024"
LSOF_TMP1="/sys"
LSOF_TMP2=-DUSELOCALREADDIR
;;
40000)
LSOF_TMP1="/usr/sys"
;;
50000|50100)
LSOF_CFGF="-DUSE_STAT"
LSOF_TMP1="/usr/sys"
;;
*)
echo "WARNING: unknown version: $LSOF_VERS"
rm -f $LSOF_HLP
exit 1
;;
esac if test "X$DU_SYSDIR" = "X" then
DU_SYSDIR=$LSOF_TMP1
fi LSOF_HOST=`uname -n`
if test "X$DU_CDIR" = "X" then
LSOF_CDIR=`expr $LSOF_HOST : '\([^\.]*\)\..*$'`
if test "X$LSOF_CDIR" = "X" then
LSOF_CDIR=$LSOF_HOST
fi LSOF_CDIR=`echo $LSOF_CDIR | tr a-z A-Z`
else
LSOF_CDIR=$DU_CDIR
fi LSOF_LOOP=1
while test $LSOF_LOOP = 1 do
if test -d ${DU_SYSDIR}/$LSOF_CDIR then
echo "Using header files in ${DU_SYSDIR}/$LSOF_CDIR"
LSOF_LOOP=0
else
cat << .CAT_MARK
Please enter the name of the subdirectory in $DU_SYSDIR that contains the
configuration files for this host. Usually its name would be $LSOF_CDIR, but
that subdirectory doesn't seem to exist. The lsof compilation needs header
files specific to this machine's configuration found in that directory.
If you can't specify the appropriate configuration subdirectory, quit this
Configure step now and generate a proper configuration subdirectory with the
kernel generation process.
.CAT_MARK
echo "$DU_SYSDIR contains:"
echo ""
ls -CF $DU_SYSDIR
echo ""
echo -n "Configuration subdirectory name? "
read LSOF_CDIR LSOF_EXCESS
if test "X$LSOF_CDIR" = "X" -o ! -d ${DU_SYSDIR}/$LSOF_CDIR then
echo ""
echo Cannot access directory ${DU_SYSDIR}/$LSOF_CDIR.
fi fi done
if test "X$DU_ADVFSV" = "X" then
echo "Determining the ADVFS version -- this will take a while."
LSOF_ADVFSV=`/usr/sbin/setld -i | grep "^OSFADVFSBIN[0-9]" | sed 's/\([^ ]*\).*/\1/' | sort -u | tail -1 | sed 's/OSFADVFSBIN//'`
else
LSOF_ADVFSV=$DU_ADVFSV
fi case $LSOF_ADVFSV in 1*)
LSOF_ADVFSV=100
echo "The ADVFS version is 1."
;;
2*)
LSOF_ADVFSV=200
echo "The ADVFS version is 2."
;;
3*)
LSOF_ADVFSV=300
echo "The ADVFS version is 3."
;;
4*)
LSOF_ADVFSV=400
echo "The ADVFS version is 4."
;;
5*)
LSOF_ADVFSV=500
echo "The ADVFS version is 5."
;;
*)
echo "The ADVFS version is unknown; it will be assumed to be 1."
LSOF_ADVFSV=100
;;
esac LSOF_CFGF="$LSOF_CFGF -DDUV=$LSOF_VERS -DADVFSV=$LSOF_ADVFSV $LSOF_TMP2"
if test "X$DU_SYSINC" = "X" then
DU_SYSINC="/usr/sys/include"
fi LSOF_DINC="$LSOF_DINC -I${DU_SYSDIR}/$LSOF_CDIR -I$DU_SYSINC"
LSOF_CFGL="-lmld"
if test "X${DU_SHLIB}" = "X" then
DU_SHLIB=/usr/shlib
fi if test -r ${DU_SHLIB}/libmsfs.so then
nm ${DU_SHLIB}/libmsfs.so | grep tag_to_path > /dev/null 2>&1
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASTAGTOPATH"
LSOF_CFGL="$LSOF_CFGL -lmsfs"
fi fi grep "^struct spec_node {" ${DU_SYSDIR}/include/sys/specdev.h > /dev/null 2>&1
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASSPECNODE"
fi if test $LSOF_VERS -ge 50000 then
LSOF_TMP1="-std1"
if test $LSOF_VERS -ge 50100 then
LSOF_TMP1="-std"
if test -x /usr/sbin/sizer then
/usr/sbin/sizer -v | grep -q 5.1A
if test $? -eq 0 then
LSOF_TMP1="-std1"
fi fi fi LSOF_CFGF="$LSOF_CFGF $LSOF_TMP1"
LSOF_TMP1=${LSOF_INCLUDE}/sys/malloc.h
if test -r $LSOF_TMP1 then
LSOF_TMP2=dialects/du/du5_sys_malloc.h
rm -f $LSOF_TMP2
echo "#if !defined(MANUFACTURED_DU5_SYS_MALLOC_H)" > $LSOF_TMP2
echo "/* By lsof Configure:" `date` " */" >> $LSOF_TMP2
echo "#define MANUFACTURED_DU5_SYS_MALLOC_H" >> $LSOF_TMP2
grep "^#define[ ]MALLOC_NUM_BUCKETS" $LSOF_TMP1 >> $LSOF_TMP2
echo "struct percpukmembuckets {" >> $LSOF_TMP2
sed '1,/^struct percpukmembuckets/d' $LSOF_TMP1 | sed -n '1,/^};/p' >> $LSOF_TMP2
echo "#endif" >> $LSOF_TMP2
LSOF_CFGF="$LSOF_CFGF -I`pwd`/dialects/du"
fi
LSOF_CFGF="$LSOF_CFGF -DHASIPv6"
fi if test -r ${LSOF_INCLUDE}/sys/namei.h
then
grep -q nc_vpid ${LSOF_INCLUDE}/sys/namei.h
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASNCVPID"
fi fi LSOF_DIALECT_DIR=du
;;
freebsd)
if test "X$LSOF_CC" = "X" then
LSOF_CC=cc
LSOF_CCV=`$LSOF_CC -v 2>&1 | sed -n 's/.*version \(.*\)/\1/p'`
fi if test "X$LSOF_VSTR" = "X" then
LSOF_VSTR=`uname -r`
fi if test "X$LSOF_VERS" = "X" then
case $LSOF_VSTR in 1.*)
LSOF_VERS=1000
;;
2.0-*)
LSOF_VERS=2000
;;
2.0.5-*)
LSOF_VERS=2005
;;
2.1*)
LSOF_VERS=2010
;;
2.2*)
LSOF_VERS=2020
;;
3.0*)
LSOF_VERS=3000
;;
3.1*)
LSOF_VERS=3010
;;
3.2*)
LSOF_VERS=3020
;;
3.3*)
LSOF_VERS=3030
;;
3.4*)
LSOF_VERS=3040
;;
3.5*)
LSOF_VERS=3050
;;
3*)
LSOF_VERS=3050
echo "!!!WARNING!!! Unsupported FreeBSD version: $LSOF_VSTR"
echo "!!!WARNING!!! Configuring for FreeBSD 3.5"
;;
4.0*)
LSOF_TSTBIGF=" "
LSOF_VERS=4000
;;
4.1-*)
LSOF_TSTBIGF=" "
LSOF_VERS=4010
;;
4.2*)
LSOF_TSTBIGF=" "
LSOF_VERS=4020
;;
4.3*)
LSOF_TSTBIGF=" "
LSOF_VERS=4030
;;
4.4*)
LSOF_TSTBIGF=" "
LSOF_VERS=4040
;;
4.5*)
LSOF_TSTBIGF=" "
LSOF_VERS=4050
;;
4.6*)
LSOF_TSTBIGF=" "
LSOF_VERS=4060
;;
4.7*)
LSOF_TSTBIGF=" "
LSOF_VERS=4070
;;
4.8*)
LSOF_TSTBIGF=" "
LSOF_VERS=4080
;;
4.9*)
LSOF_TSTBIGF=" "
LSOF_VERS=4090
;;
4.10*)
LSOF_TSTBIGF=" "
LSOF_VERS=4100
;;
4.11*)
LSOF_TSTBIGF=" "
LSOF_VERS=4110
;;
4*)
LSOF_VERS=4100
echo "!!!WARNING!!! Unsupported FreeBSD version: $LSOF_VSTR"
echo "!!!WARNING!!! Configuring for FreeBSD 4.10"
;;
5.0*)
LSOF_TSTBIGF=" "
LSOF_VERS=5000
;;
5.1*)
LSOF_TSTBIGF=" "
LSOF_VERS=5010
;;
5.2*)
LSOF_TSTBIGF=" "
LSOF_VERS=5020
;;
5.3*)
LSOF_TSTBIGF=" "
LSOF_VERS=5030
;;
5.4*)
LSOF_TSTBIGF=" "
LSOF_VERS=5040
;;
5.5*)
LSOF_TSTBIGF=" "
LSOF_VERS=5050
;;
5*)
LSOF_VERS=5050
echo "!!!WARNING!!! Unsupported FreeBSD version: $LSOF_VSTR"
echo "!!!WARNING!!! Configuring for FreeBSD 5.5"
;;
6.0*)
LSOF_TSTBIGF=" "
LSOF_VERS=6000
;;
6.1*)
LSOF_TSTBIGF=" "
LSOF_VERS=6010
;;
6*)
LSOF_VERS=6000
echo "!!!WARNING!!! Unsupported FreeBSD version: $LSOF_VSTR"
echo "!!!WARNING!!! Configuring for FreeBSD 6.0"
;;
7.0*)
LSOF_TSTBIGF=" "
LSOF_VERS=7000
;;
7*)
LSOF_VERS=7000
echo "!!!WARNING!!! Unsupported FreeBSD version: $LSOF_VSTR"
echo "!!!WARNING!!! Configuring for FreeBSD 7.0"
;;
*)
echo Unknown FreeBSD release: `uname -r`
echo Assuming FreeBSD 2.x
LSOF_CFGL="-lkvm"
LSOF_VERS=2000
LSOF_N_UNIXV=`/usr/sbin/sysctl -n kern.bootfile`
if test "X$LSOF_N_UNIXV" = "X" then
LSOF_N_UNIXV="/kernel"
fi ;;
esac fi
if test "X$FREEBSD_MAKE_CONF" = "X" then
FREEBSD_MAKE_CONF="/etc/make.conf"
fi if test -r $FREEBSD_MAKE_CONF then
LSOF_CFGF=`echo "all:\n.include <bsd.prog.mk>" | make -f- -VCFLAGS`
LSOF_TMP=1
while test $LSOF_TMP -eq 1 do
echo $LSOF_CFGF | grep -q -e '-O'
if test $? -eq 0 then
if test "X$LSOF_DEBUG" = "X"
then LSOF_DEBUG=`echo $LSOF_CFGF | sed 's/.*\(-O[^ $]*\).*/\1/'`
fi LSOF_CFGF=`echo $LSOF_CFGF | sed 's/\(.*\)-O[^ $]*\(.*\)/\1 \2/' | sed 's/^ *//g' | sed 's/ */ /g' | sed 's/ *$//'`
else
LSOF_TMP=0
fi done fi
LSOF_DINC_ADD=0
if test "X$FREEBSD_SYS" = "X" then
if test -d /usr/src/sys then
FREEBSD_SYS=/usr/src/sys
else
if test -d /sys then
FREEBSD_SYS="/sys"
fi fi fi
case $LSOF_VERS in 1000)
LSOF_CFGF="$LSOF_CFGF -DHASPROCFS"
LSOF_CFGL="-lutil"
LSOF_DINC="$LSOF_DINC -I`pwd`/dialects/freebsd/include"
if test "X$FREEBSD_KERNEL" = "X" then
LSOF_N_UNIXV="/386bsd"
else
LSOF_N_UNIXV=$FREEBSD_KERNEL
fi ;;
2000|2005|2010)
LSOF_CFGL="-lkvm"
;;
2020)
LSOF_CFGL="-lkvm"
if test -r ${LSOF_INCLUDE}/vm/lock.h then
LSOF_CFGF="$LSOF_CFGF -DHASVMLOCKH"
fi ;;
3000|3010|3020|3030|3040|3050)
LSOF_CFGL="-lkvm"
if test -r ${LSOF_INCLUDE}/nfs/rpcv2.h then
LSOF_CFGF="$LSOF_CFGF -DHASRPCV2H"
fi if test -r ${LSOF_INCLUDE}/vm/lock.h then
LSOF_CFGF="$LSOF_CFGF -DHASVMLOCKH"
fi ;;
4000|4010|4020|4030|4040|4050|4060|4070|4080|4090|4100|4110|5000|5010|5020|5030|5040|5050|6000|6010|7000)
if test -r ${LSOF_INCLUDE}/sys/namei.h then
grep -q "^struct[ ]*namecache[ ]*{" ${LSOF_INCLUDE}/sys/namei.h
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASNAMECACHE"
fi fi if test -r ${LSOF_INCLUDE}/ufs/ufs/inode.h then
grep -q i_effnlink ${LSOF_INCLUDE}/ufs/ufs/inode.h
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASEFFNLINK=i_effnlink"
fi fi if test -r ${LSOF_INCLUDE}/sys/file.h then
grep -q f_vnode ${LSOF_INCLUDE}/sys/file.h
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASF_VNODE"
fi fi LSOF_CFGL="-lkvm"
if test $LSOF_VERS -ge 5000 then
if test -r ${LSOF_INCLUDE}/sys/vnode.h then
grep VT_FDESC ${LSOF_INCLUDE}/sys/vnode.h > /dev/null 2>&1
if test $? -eq 0 then
if test ! -r ${LSOF_INCLUDE}/fs/devfs/devfs.h then
if test -r ${FREEBSD_SYS}/fs/devfs/devfs.h then
LSOF_DINC_ADD=1
else
echo "!!!FATAL: lsof cannot locate the devfs.h header file"
echo " in ${LSOF_INCLUDE}/fs/devfs/devfs.h or"
echo " ${FREEBSD_SYS}/fs/devfs/devfs.h. Consult"
echo " 00FAQ for an explanation."
exit 1
fi fi fi fi
if test $LSOF_VERS -ge 5020 then
if test -r ${LSOF_INCLUDE}/sys/types.h \
-a -r ${LSOF_INCLUDE}/machine/_types.h then
grep -q cpumask_t ${LSOF_INCLUDE}/sys/types.h
if test $? -eq 0 then
grep -q __cpumask_t ${LSOF_INCLUDE}/machine/_types.h
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASCPUMASK_T"
else
$LSOF_CC -E ${LSOF_INCLUDE}/machine/_types.h 2>/dev/null | grep -q __cpumask_t
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASCPUMASK_T"
fi fi fi fi if test -r ${LSOF_INCLUDE}/sys/socketvar.h then
grep -q SBS_CANT ${LSOF_INCLUDE}/sys/socketvar.h
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASSBSTATE"
fi fi fi if test $LSOF_VERS -ge 5030 then
if test -r ${LSOF_INCLUDE}/sys/vnode.h then
grep -q "defined(_KVM_VNODE)" ${LSOF_INCLUDE}/sys/vnode.h
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHAS_KVM_VNODE"
fi fi fi if test $LSOF_VERS -ge 6000 then
if test -r ${LSOF_INCLUDE}/ufs/ufs/inode.h then
grep -q i_din2 ${LSOF_INCLUDE}/ufs/ufs/inode.h
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHAS_UFS1_2"
fi fi if test -r ${LSOF_INCLUDE}/sys/conf.h then
grep -q "si_udev;" ${LSOF_INCLUDE}/sys/conf.h
if test $? -ne 0 then
LSOF_CFGF="$LSOF_CFGF -DHAS_NO_SI_UDEV"
fi grep -q si_priv ${LSOF_INCLUDE}/sys/conf.h
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHAS_SI_PRIV"
fi fi if test -r ${LSOF_INCLUDE}/sys/sx.h then
LSOF_CFGF="$LSOF_CFGF -DHAS_SYS_SX_H"
fi fi fi ;;
*)
echo "Unknown FreeBSD release: $LSOF_VERS"
rm -f $LSOF_HLP
exit 1
;;
esac LSOF_CFGF="$LSOF_CFGF -DFREEBSDV=$LSOF_VERS"
if test $LSOF_VERS -lt 2000 -a "X$FREEBSD_KERNEL" = "X" then
if test ! -x $LSOF_N_UNIXV then
echo "Hmmm -- $LSOF_N_UNIXV doesn't appear to be your kernel file."
echo "Please enter the name of the file in / that contains"
echo "the kernel for this host. It must be a regular file,"
echo "not a directory, and must be executable."
LSOF_LOOP=1
while test $LSOF_LOOP = 1 do
echo ""
echo "/ contains:"
echo ""
ls -CF /
echo ""
echo -n "Kernel file name? "
read LSOF_N_UNIXV LSOF_EXCESS
LSOF_N_UNIXV="/$LSOF_N_UNIXV"
if test ! -d $LSOF_N_UNIXV -a -x $LSOF_N_UNIXV then
LSOF_LOOP=0
else
echo ""
echo $LSOF_N_UNIXV is not a regular executable file.
fi done fi LSOF_N_UNIXV=`echo $LSOF_N_UNIXV | sed 's LSOF_CFGF="$LSOF_CFGF -DN_UNIXV=$LSOF_N_UNIXV"
fi if test -r ${FREEBSD_SYS}/miscfs/fdesc/fdesc.h then
LSOF_TMP1=${FREEBSD_SYS}/miscfs/fdesc/fdesc.h
else
if test $LSOF_VERS -ge 5000 -a -r ${LSOF_INCLUDE}/fs/fdescfs/fdesc.h then
LSOF_TMP1=${LSOF_INCLUDE}/fs/fdescfs/fdesc.h
else
LSOF_TMP1=""
fi fi if test "X$LSOF_TMP1" != "X" then
grep -q Fctty $LSOF_TMP1
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASFDESCFS=1"
else
LSOF_CFGF="$LSOF_CFGF -DHASFDESCFS=2"
fi grep -q fd_link $LSOF_TMP1
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASFDLINK"
fi LSOF_DINC_ADD=1
fi if test $LSOF_VERS -ge 5000 then
LSOF_TMP1="fs"
else
LSOF_TMP1="miscfs"
fi if test $LSOF_VERS -lt 5000 then
if test -d ${FREEBSD_SYS}/${LSOF_TMP1}/procfs then
LSOF_CFGF="$LSOF_CFGF -DHASPROCFS"
LSOF_DINC_ADD=1
fi else
if test -d ${FREEBSD_SYS}/${LSOF_TMP1}/pseudofs then
LSOF_CFGF="$LSOF_CFGF -DHASPSEUDOFS"
LSOF_DINC_ADD=1
fi fi if test -r ${LSOF_INCLUDE}/${LSOF_TMP1}/nullfs/null.h then
LSOF_CFGF="$LSOF_CFGF -DHASNULLFS"
else
if test -r ${FREEBSD_SYS}/${LSOF_TMP1}/nullfs/null.h then
LSOF_CFGF="$LSOF_CFGF -DHASNULLFS"
LSOF_DINC_ADD=1
fi fi if test -r ${FREEBSD_SYS}/isofs/cd9660/cd9660_node.h then
rm -f cd9660_node.h
grep -q "^#ifdef [_]*KERNEL" ${FREEBSD_SYS}/isofs/cd9660/cd9660_node.h
if test $? -eq 0 then
ln -s ${FREEBSD_SYS}/isofs/cd9660/cd9660_node.h cd9660_node.h
else
sed -e '/^ \* Prototypes for ISOFS vnode operations/,$c\
\ The ISOFS prototypes were removed by Configure. */' \
< ${FREEBSD_SYS}/isofs/cd9660/cd9660_node.h > cd9660_node.h
echo "" >> cd9660_node.h
fi LSOF_CFGF="$LSOF_CFGF -DHAS9660FS"
if test $LSOF_VERS -ge 6000 then
grep -q "i_dev;" cd9660_node.h
if test $? -ne 0 then
LSOF_CFGF="$LSOF_CFGF -DHAS_NO_ISO_DEV"
fi fi fi if test -r ${LSOF_INCLUDE}/sys/namei.h
then
grep -q nc_vpid ${LSOF_INCLUDE}/sys/namei.h
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASNCVPID"
fi fi if test $LSOF_DINC_ADD -eq 1 then
if test "X$LSOF_DINC" = "X" then
LSOF_DINC="-I${FREEBSD_SYS}"
else
LSOF_DINC="$LSOF_DINC -I${LSOF_INCLUDE} -I$FREEBSD_SYS"
fi fi if test -r ${LSOF_INCLUDE}/netinet/in.h then
grep IPV6_INRIA_VERSION ${LSOF_INCLUDE}/netinet/in.h > /dev/null
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASIPv6 -DHASINRIAIPv6"
fi fi echo $CFGF | grep HASIPv6 > /dev/null
if test $? -ne 0 -a -r ${LSOF_INCLUDE}/netinet6/in6.h then
LSOF_CFGF="$LSOF_CFGF -DHASIPv6"
fi LSOF_DIALECT_DIR=freebsd
;;
hpux|hpuxgcc)
LSOF_CFGL=""
LSOF_RANLIB=""
if test "X$LSOF_VSTR" = "X" then
LSOF_VSTR=`uname -r`
fi if test "X$LSOF_VERS" = "X" then
LSOF_VERS=`echo $LSOF_VSTR | awk -F. '{printf "%d%02d",\$2,\$3}'`
fi if test $LSOF_VERS -ge 1020 then
LSOF_TSTBIGF="-D_LARGEFILE64_SOURCE"
fi
if test "X$LSOF_CC" = "X" then
if test "X$LSOF_TGT" = "Xhpuxgcc" then
LSOF_CC=gcc
else
if test "X$HPUX_CCDIR1" = "X" then
HPUX_CCDIR1="/bin"
fi if test "X$HPUX_CCDIR2" = "X" then
HPUX_CCDIR2="/usr/ccs/bin"
fi if test -x ${HPUX_CCDIR1}/cc then
LSOF_CC=${HPUX_CCDIR1}/cc
else
if test -x ${HPUX_CCDIR2}/cc then
LSOF_CC=${HPUX_CCDIR2}/cc
else
echo "No executable cc in $HPUX_CCDIR1 or $HPUX_CCDIR2"
rm -f $LSOF_HLP
exit 1
fi fi $LSOF_CC -O < /dev/null 2>&1 | grep -q Bundled
if test $? -eq 0 then
LSOF_DEBUG="No-O" if test "X$HPUX_LIBC1" = "X" then
HPUX_LIBC1="/usr/lib"
fi if test -r ${HPUX_LIBC1}/libc.sl then
LSOF_FCFGL="-L$HPUX_LIBC -lc"
else
if test "X$HPUX_LIBC2" = "X" then
HPUX_LIBC2="/usr/lib"
fi if test -r ${HPUX_LIBC2}/libc.sl then
LSOF_FCFGL="-L$HPUX_LIBC2 -lc"
fi fi fi fi fi echo $LSOF_CC | grep gcc > /dev/null
if test $? -eq 0 then
LSOF_CCV=`$LSOF_CC -v 2>&1 | sed -n 's/.*version \(.*\)/\1/p'`
else
$LSOF_CC -O < /dev/null 2>&1 | grep -q Bundled
if test $? -eq 0 then
LSOF_DEBUG="No-O" fi fi LSOF_TGT=hpux
rm -f ${LSOF_TMPC}.*
echo "main() { const void *x; return(0); }" >> $LSOF_TMPC.c
$LSOF_CC $LSOF_TMPC.c -o $LSOF_TMPC.x > /dev/null 2>&1
if test $? -eq 0 then
LSOF_CFGF="-DHAS_CONST"
fi rm -f ${LSOF_TMPC}.*
if test "X$HPUX_BASE" = "X" then
if test -d $LSOF_INCLUDE/sys/pstat -a $LSOF_VERS -ge 1111 then
HPUX_BASE="pstat"
else
HPUX_BASE="/dev/kmem"
fi fi if test "X$HPUX_BASE" = "Xpstat" then
LSOF_CINFO="PSTAT-based"
echo "Configuring PSTAT-based HP-UX lsof"
LSOF_DIALECT_DIR=hpux/pstat
LSOF_CFGF="$LSOF_CFGF -DHPUXV=$LSOF_VERS -D_PSTAT64"
LSOF_CFGL="$LSOF_CFGL -lnsl"
LSOF_TSTKMEM=0
LSOF_TSTK64=1
ls -l $LSOF_CC | grep -q ansic
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -Ae +DD32"
else
echo $LSOF_CC | grep -q gcc
if test $? -ne 0 then
LSOF_CFGF="$LSOF_CFGF +DD32"
fi fi if test -r ${LSOF_INCLUDE}/netinet/in6.h then
LSOF_CFGF="$LSOF_CFGF -DHASIPv6"
fi else
if test "X$HPUX_BASE" = "X/dev/kmem" then
if test "X$HPUX_BOOTFILE" = "X" then
HPUX_BOOTFILE="/stand/vmunix"
fi if test $LSOF_VERS -gt 1100 then
echo ""
echo "************************************************"
echo "* *"
echo "* !!!!!!!!!!!!!!! FATAL ERROR !!!!!!!!!!!!!!!! *"
echo "* *"
echo "* LSOF DOES NOT SUPPORT THIS VERSION OF HP-UX. *"
echo "* *"
echo "************************************************"
echo ""
rm -f $LSOF_HLP
exit 1
fi LSOF_CFGF="$LSOF_CFGF -DHPUXV=$LSOF_VERS"
LSOF_CINFO="/dev/kmem-based"
LSOF_DIALECT_DIR=hpux/kmem
echo "Configuring /dev/kmem-based HP-UX lsof"
if test $LSOF_VERS -lt 1000 then
if test "X$HPUX_X25DIR" = "X" then
HPUX_X25DIR="/etc/conf"
else
HPUX_X25DIR=$HPUX_X25DIR
fi if test -r ${HPUX_X25DIR}/x25/x25addrstr.h then
LSOF_CFGF="$LSOF_CFGF -DHPUX_CCITT"
LSOF_DINC="$LSOF_DINC -I$HPUX_X25DIR"
fi fi if test -r ${LSOF_INCLUDE}/sys/fs/vx_inode.h -a -r ${LSOF_INCLUDE}/sys/fs/vx_hpux.h then
LSOF_CFGF="$LSOF_CFGF -DHASVXFS"
fi if test $LSOF_VERS -ge 1030 then
if test "X$HPUX_KERNBITS" = "X" then
HPUX_KERNBITS=`getconf _SC_KERNEL_BITS`
fi LSOF_CFGF="$LSOF_CFGF -DHPUXKERNBITS=${HPUX_KERNBITS} -I`pwd`/dialects/hpux/kmem/hpux11"
if test $HPUX_KERNBITS -eq 64 then
LSOF_TSTK64=1
echo ""
echo "*****************************************"
echo "* *"
echo "* NOTICE! Configuring for 64 bit HP-UX *"
echo "* *"
echo "*****************************************"
echo $LSOF_CC | grep gcc > /dev/null
if test $? -eq 0 then
echo ""
echo "Testing $LSOF_CC for 64 bit support"
rm -f ${LSOF_TMPC}.*
echo "main(){}" > ${LSOF_TMPC}.c
LSOF_TMP1=""
$LSOF_CC ${LSOF_TMPC}.c -o ${LSOF_TMPC}.x > /dev/null 2>&1
if test $? -eq 0 then
/bin/file ${LSOF_TMPC}.x | /bin/grep 64 > /dev/null
if test $? -eq 0 then
LSOF_TMP1=" "
fi fi if test "X$LSOF_TMP1" = "X" then
rm -f ${LSOF_TMPC}.x
$LSOF_CC ${LSOF_TMPC}.c -mlp64 -o ${LSOF_TMPC}.x > /dev/null 2>&1
if test $? -eq 0 then
/bin/file ${LSOF_TMPC}.x | /bin/grep 64 > /dev/null
if test $? -eq 0 then
LSOF_TMP1="-mlp64"
fi fi fi rm -f ${LSOF_TMPC}.*
if test "X$LSOF_TMP1" = "X" then
echo ""
echo "***************************************************"
echo "* *"
echo "* !!!!!!!!!!!!!!!!! FATAL ERROR !!!!!!!!!!!!!!!!! *"
echo "* *"
echo "* APPARENTLY GCC CANNOT BUILD 64 BIT EXECUTABLES. *"
echo "* A COMPILER MUST BE USED THAT CAN. SEE 00FAQ *"
echo "* FOR MORE INFORMATION. *"
echo "* *"
echo "***************************************************"
echo ""
rm -f $LSOF_HLP
exit 1
else
if test "X$LSOF_TMP1" != "X " then
LSOF_CFGF="$LSOF_CFGF $LSOF_TMP1"
fi LSOF_CFGL="$LSOF_CFGL -lelf"
LSOF_CINFO="${LSOF_CINFO}, 64 bit HP-UX"
fi else
LSOF_CFGF="$LSOF_CFGF +DD64"
LSOF_CFGL="$LSOF_CFGL -lelf"
LSOF_CINFO="${LSOF_CINFO}, 64 bit HP-UX"
fi else
LSOF_CFGF="$LSOF_CFGF -D_FILE_OFFSET_BITS=64"
LSOF_CINFO="${LSOF_CINFO}, 32 bit HP-UX"
echo $LSOF_CC | grep gcc > /dev/null
if test $? -ne 0 then
LSOF_CFGF="$LSOF_CFGF +DAportable"
fi fi LSOF_CFGL="$LSOF_CFGL -lnsl"
else
if test $LSOF_VERS -ge 1000 then
LSOF_TMP1=0
if test "X$HPUX_RNODE3" = "X" then
nm -x $HPUX_BOOTFILE | grep -q nfs_vnodeops3
if test $? -eq 0 then
if test -r ${LSOF_INCLUDE}/nfs/rnode.h then
grep -q r_fh3 ${LSOF_INCLUDE}/nfs/rnode.h
if test $? -ne 0 then
LSOF_TMP1=1
fi fi fi else
if test "X$HPUX_RNODE3" = "X1" then
LSOF_TMP1=1
fi fi if test $LSOF_TMP1 -eq 1 then
LSOF_CFGF="$LSOF_CFGF -DHASRNODE3"
fi fi fi if test $LSOF_VERS -eq 1100 then
if test "X$HPUX_IPC_S_PATCH" = "X" then
if test -x /usr/contrib/Q4/bin/q4exe then
LSOF_TMP=/usr/contrib/Q4/bin/q4exe
else
LSOF_TMP=/usr/contrib/bin/q4
fi if test -x $LSOF_TMP then
rm -f ${LSOF_TMPC}.out
echo ""
echo "Looking in $HPUX_BOOTFILE for ipis_s with $LSOF_TMP ... \c"
echo "yes\\nfields -c struct ipis_s" | $LSOF_TMP $HPUX_BOOTFILE > ${LSOF_TMPC}.out 2>&1
if test $? -ne 0 then
echo ""
echo ""
echo "!!!ERROR!!! $LSOF_TMP failed and produced the following output."
echo ""
cat ${LSOF_TMPC}.out
HPUX_IPC_S_PATCH=fail
else
grep ipis_s ${LSOF_TMPC}.out > /dev/null 2>&1
if test $? -eq 0 then
echo "ipis_s exists."
grep ipis_msgsqueued ${LSOF_TMPC}.out > /dev/null 2>&1
if test $? -eq 0 then
HPUX_IPC_S_PATCH=2
else
HPUX_IPC_S_PATCH=1
fi else
echo "ipis_s doesn't exist."
HPUX_IPC_S_PATCH=N
fi fi rm -f ${LSOF_TMPC}.out
else
echo "Can't locate or execute $LSOF_TMP"
echo "ls says: \c"
ls -ld $LSOF_TMP
HPUX_IPC_S_PATCH=fail
fi fi if test "X$HPUX_IPC_S_PATCH" = "Xfail" then
echo ""
echo "!!!ERROR!!! !!!ERROR!!! !!!ERROR!!! !!!ERROR!!!"
echo "Configure can't use $LSOF_TMP to examine the ipis_s"
echo "structure. You must do that yourself, report the result in"
echo "the HPUX_IPC_S_PATCH environment variable, then repeat the"
echo "Configure step. Consult the Configure script's use of"
echo "$LSOF_TMP and the 00XCONFIG file for information"
echo "on ipis_s testing and the setting of HPUX_IPC_S_PATCH."
echo "!!!ERROR!!! !!!ERROR!!! !!!ERROR!!! !!!ERROR!!!"
echo ""
rm -f $LSOF_HLP
exit 1
fi if test "X$HPUX_IPC_S_PATCH" = "X1" -o "X$HPUX_IPC_S_PATCH" = "X2" then
LSOF_CFGF="$LSOF_CFGF -DHAS_IPC_S_PATCH=$HPUX_IPC_S_PATCH"
else
if test "X$HPUX_IPC_S_PATCH" != "Xn" -a "X$HPUX_IPC_S_PATCH" != "XN" then
echo "Illegal value for HPUX_IPC_S_PATCH: $HPUX_IPC_S_PATCH"
rm -f $LSOF_HLP
exit 1
fi fi fi
if test -r ${LSOF_INCLUDE}/sys/mount.h then
LSOF_TMP1="dialects/${LSOF_DIALECT_DIR}/hpux_mount.h"
rm -f $LSOF_TMP1
echo "#if !defined(MANUFACTURED_HPUX_SYS_MOUNT_H)" > $LSOF_TMP1
echo "#define MANUFACTURED_HPUX_SYS_MOUNT_H" >> $LSOF_TMP1
echo "/* By lsof Configure:" `date` " */" >> $LSOF_TMP1
echo "struct mount" >> $LSOF_TMP1
sed '1,/struct mount/d' ${LSOF_INCLUDE}/sys/mount.h | sed -n '1,/m_dev/p' >> $LSOF_TMP1
echo "};" >> $LSOF_TMP1
echo "#endif" >> $LSOF_TMP1
LSOF_CFGF="$LSOF_CFGF -I`pwd`/dialects/${LSOF_DIALECT_DIR}"
fi
if test $LSOF_VERS -ge 1100 then
if test "X$HPUX_HASONLINEJFS" = "X" -a -x /sbin/fs/vxfs/subtype then
LSOF_TMP1=`/sbin/fs/vxfs/subtype`
if test "X$LSOF_TMP1" = "Xvxfs3.3"
then
HPUX_HASONLINEJFS="Y"
fi fi if test "X$HPUX_HASONLINEJFS" = "XY" -o "X$HPUX_HASONLINEJFS" = "Xy"
then
LSOF_CFGF="$LSOF_CFGF -DHASONLINEJFS"
fi fi
if test -r ${AFS_VICE}/etc/ThisCell then
if test "X$LSOF_SCRIPT_CALL" = "Xno" then
if test -r ./AFSHeaders -a -r ./AFSVersion then
LSOF_AFS="yes"
fi else
if test ! -x ./AFSConfig then
echo "Can't find or execute the AFSConfig script"
rm -f $LSOF_HLP
exit 1
fi ./AFSConfig
if test $? -eq 0 -a -r ./AFSHeaders -a -r ./AFSVersion then
LSOF_AFS="yes"
fi fi if test "X$LSOF_AFS" = "Xyes" then
LSOF_AFSV=`cat ./AFSVersion | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1 \2/' | awk '{printf "%d%02d\n",\$1,\$2}'`
LSOF_CFGF="$LSOF_CFGF -DHAS_AFS=$LSOF_AFSV"
LSOF_DINC="$LSOF_DINC -I`cat ./AFSHeaders`"
fi fi else
echo "HP-UX base unrecognized: $HPUX_BASE"
rm -f $LSOF_HLP
exit 1
fi fi ;;
linux)
LSOF_TSTBIGF="-D_FILE_OFFSET_BITS=64"
LSOF_TSTKMEM=0
if test "X$LSOF_CC" = "X" then
LSOF_CC=cc
LSOF_CCV=`$LSOF_CC -v 2>&1 | sed -n 's/.*version \(.*\)/\1/p'`
fi LSOF_DIALECT_DIR=""
if test "X$LSOF_VSTR" = "X" then
LSOF_VSTR=`uname -r`
fi if test "X$LSOF_VERS" = "X" then
LSOF_VERS=`echo $LSOF_VSTR | sed 's/\./ /g' | awk '{printf "%d%d%03d",\$1,\$2,\$3}'`
fi LSOF_CFGF="-DLINUXV=$LSOF_VERS"
if test $LSOF_VERS -lt 21072 then
echo ""
echo "!!!WARNING!!!==!!!WARNING!!!==!!!WARNING!!!==!!!WARNING!!!"
echo "! !"
echo "! THE /PROC-BASED LSOF SOURCES HAVE NOT BEEN TESTED ON !"
echo "! LINUX KERNELS BELOW 2.1.72, AND MAY NOT WORK ON THIS !"
echo "! KERNEL. IT SHOULD USE A /DEV/KMEM-BASED LSOF. !"
echo "! !"
echo "!!!WARNING!!!==!!!WARNING!!!==!!!WARNING!!!==!!!WARNING!!!"
echo ""
fi
if test "X$LINUX_CLIB" = "X" then
echo -n "Testing C library type with $LSOF_CC ... "
rm -f ${LSOF_TMPC}.*
cat > $LSOF_TMPC.c << .LSOF_END_HERE_DOC
main() {
printf("-DGLIBCV=%d\n",__GLIBC__*100+__GLIBC_MINOR__);
printf("-DGLIBCV=%d00\n",__GLIBC__);
printf("\n");
return(0); }
.LSOF_END_HERE_DOC
$LSOF_CC ${LSOF_TMPC}.c -I$LSOF_INCLUDE -o ${LSOF_TMPC}.x > /dev/null 2>&1
if test -x ${LSOF_TMPC}.x then
LINUX_CLIB=`${LSOF_TMPC}.x`
LSOF_TMP=$?
else
LINUX_CLIB=""
LSOF_TMP=1
fi rm -f ${LSOF_TMPC}.*
echo "done"
if test $LSOF_TMP -ne 0 then
echo "Cannot determine C library type; assuming it is not glibc."
LINUX_CLIB=""
else
if test "X$LINUX_CLIB" = "X" then
echo "The C library type is not glibc."
else
echo "The C library type is glibc, version \"$LINUX_CLIB\"."
fi fi fi if test "X$LINUX_CLIB" != "X" then
LSOF_CFGF="$LSOF_CFGF $LINUX_CLIB"
fi
if test -r ${LSOF_INCLUDE}/netinet/ip6.h then
LSOF_CFGF="$LSOF_CFGF -DHASIPv6"
fi
if test -r ${LSOF_INCLUDE}/selinux/selinux.h then
LSOF_CFGF="$LSOF_CFGF -DHASSELINUX"
LSOF_CFGL="$LSOF_CFGL -lselinux"
fi LSOF_DIALECT_DIR="linux"
LSOF_CFGF="$LSOF_CFGF -D_FILE_OFFSET_BITS=64"
;;
netbsd)
if test "X$LSOF_CC" = "X" then
LSOF_CC=cc
LSOF_CCV=`$LSOF_CC -v 2>&1 | sed -n 's/.*version \(.*\)/\1/p'`
fi if test "X$LSOF_VSTR" = "X" then
LSOF_VSTR=`uname -r`
fi if test "X$LSOF_VERS" = "X" then
case $LSOF_VSTR in 1.2*)
LSOF_VERS="1002000"
;;
1.3*)
LSOF_VERS="1003000"
;;
1.4*)
LSOF_VERS="1004000"
;;
1.5*)
LSOF_TSTBIGF=" "
LSOF_VERS="1005000"
;;
1.6*)
LSOF_TSTBIGF=" "
LSOF_VERS="1006000"
;;
1*)
LSOF_VERS="1006000"
echo "!!!WARNING!!! Unsupported NetBSD version: $LSOF_VSTR"
echo "!!!WARNING!!! Configuring for NetBSD 1.6"
;;
2.0*)
LSOF_TSTBIGF=" "
LSOF_VERS="2000000"
;;
2.99.9)
LSOF_TSTBIGF=" "
LSOF_VERS="2099009"
;;
2.99.10)
LSOF_TSTBIGF=" "
LSOF_VERS="2099010"
;;
2.99.*)
LSOF_TSTBIGF=" "
LSOF_VERS="2099010"
;;
2*)
LSOF_VERS="2000000"
echo "!!!WARNING!!! Unsupported NetBSD version: $LSOF_VSTR"
echo "!!!WARNING!!! Configuring for NetBSD 2.0"
;;
3.0*)
LSOF_TSTBIGF=" "
LSOF_VERS="3000000"
;;
3.99.*)
LSOF_TSTBIGF=" "
LSOF_VERS="3099000"
;;
3*)
LSOF_VERS="3000000"
echo "!!!WARNING!!! Unsupported NetBSD version: $LSOF_VSTR"
echo "!!!WARNING!!! Configuring for NetBSD 3.0"
;;
*)
echo "Unknown NetBSD release: $LSOF_VSTR"
echo Assuming NetBSD 1.6
LSOF_VERS="1006000"
;;
esac fi
case $LSOF_VERS in 1002000|1003000|1004000|1005000|1006000)
;;
2000000|2099009|2099010)
;;
3000000|3099000)
;;
*)
echo "Unknown NetBSD version: $LSOF_VERS"
rm -f $LSOF_HLP
exit 1
;;
esac LSOF_CFGF="-DNETBSDV=$LSOF_VERS"
LSOF_TMP1="-DN_UNIXV=/netbsd"
if test -r ${LSOF_INCLUDE}/util.h then
grep -q getbootfile ${LSOF_INCLUDE}/util.h
if test $? -eq 0 then
LSOF_CFGL="-lutil"
LSOF_TMP1="-DHASGETBOOTFILE"
fi fi LSOF_CFGF="$LSOF_CFGF $LSOF_TMP1"
if test -r ${LSOF_INCLUDE}/kvm.h then
grep -q kvm_getproc2 ${LSOF_INCLUDE}/kvm.h
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASKVMGETPROC2"
fi fi
LSOF_TMP1=0
if test "X$NETBSD_SYS" = "X" then
if test -d /usr/src then
NETBSD_SYS="/usr/src/sys"
else
NETBSD_SYS=$LSOF_INCLUDE
fi fi LSOF_TMP2="nfs/nfsproto.h"
if test -r ${LSOF_INCLUDE}/$LSOF_TMP2 then
LSOF_TMP3="${LSOF_INCLUDE}/$LSOF_TMP2"
LSOF_TMP4=0
else
if test -r ${NETBSD_SYS}/$LSOF_TMP2 then
LSOF_TMP3="${NETBSD_SYS}/$LSOF_TMP2"
LSOF_TMP4=1
else
LSOF_TMP3=""
fi fi if test "X$LSOF_TMP3" != "X" then
LSOF_CFGF="$LSOF_CFGF -DHASNFSPROTO"
if test $LSOF_TMP1 -eq 0 -a $LSOF_TMP4 -eq 1 then
LSOF_TMP1=1
fi fi LSOF_TMP2="netinet/ip6.h"
if test -r ${LSOF_INCLUDE}/$LSOF_TMP2 then
LSOF_TMP3="${LSOF_INCLUDE}/$LSOF_TMP2"
LSOF_TMP4=0
else
if test -r ${NETBSD_SYS}/$LSOF_TMP2 then
LSOF_TMP3="${NETBSD_SYS}/$LSOF_TMP2"
LSOF_TMP4=1
else
LSOF_TMP3=""
fi fi if test "X$LSOF_TMP3" != "X" then
LSOF_CFGF="$LSOF_CFGF -DHASIPv6"
if test $LSOF_TMP1 -eq 0 -a $LSOF_TMP4 -eq 1 then
LSOF_TMP1=1
fi else
LSOF_TMP2="netinet/in.h"
if test -r ${LSOF_INCLUDE}/$LSOF_TMP2 then
LSOF_TMP3="${LSOF_INCLUDE}/$LSOF_TMP2"
LSOF_TMP4=0
else
if test -r ${NETBSD_SYS}/$LSOF_TMP2 then
LSOF_TMP3="${NETBSD_SYS}/$LSOF_TMP2"
LSOF_TMP4=1
else
LSOF_TMP3=""
fi fi if test "X$LSOF_TMP3" != "X" then
grep -q IPV6_INRIA_VERSION $LSOF_TMP3
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASIPv6 -DHASINRIAIPv6"
if test $LSOF_TMP1 -eq 0 -a $LSOF_TMP4 -eq 1 then
LSOF_TMP1=1
fi fi fi fi LSOF_TMP2="miscfs/fdesc/fdesc.h"
if test -r ${LSOF_INCLUDE}/$LSOF_TMP2 then
LSOF_TMP3="${LSOF_INCLUDE}/$LSOF_TMP2"
else
if test -r ${NETBSD_SYS}/$LSOF_TMP2 then
LSOF_TMP3="${NETBSD_SYS}/$LSOF_TMP2"
LSOF_TMP4=1
else
LSOF_TMP3=""
fi fi if test "X$LSOF_TMP3" != "X" then
grep -q Fctty $LSOF_TMP3
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASFDESCFS=1"
else
LSOF_CFGF="$LSOF_CFGF -DHASFDESCFS=2"
fi grep -q fd_link $LSOF_TMP3
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASFDLINK"
fi if test $LSOF_TMP1 -eq 0 -a $LSOF_TMP4 -eq 1 then
LSOF_TMP1=1
fi fi LSOF_TMP2="miscfs/nullfs/null.h"
if test -r ${LSOF_INCLUDE}/$LSOF_TMP2 then
LSOF_TMP3="${LSOF_INCLUDE}/$LSOF_TMP2"
LSOF_TMP4=0
else
if test -r ${NETBSD_SYS}/$LSOF_TMP2 then
LSOF_TMP3="${NETBSD_SYS}/$LSOF_TMP2"
LSOF_TMP4=1
else
LSOF_TMP3=""
fi fi if test "X$LSOF_TMP3" != "X" then
LSOF_CFGF="$LSOF_CFGF -DHASNULLFS"
if test $LSOF_TMP1 -eq 0 -a $LSOF_TMP4 -eq 1 then
LSOF_TMP1=1
fi fi LSOF_TMP2="miscfs/procfs"
if test -d ${LSOF_INCLUDE}/$LSOF_TMP2 then
LSOF_TMP3="${LSOF_INCLUDE}/$LSOF_TMP2"
LSOF_TMP4=0
else
if test -d ${NETBSD_SYS}/$LSOF_TMP2 then
LSOF_TMP3="${NETBSD_SYS}/$LSOF_TMP2"
LSOF_TMP4=1
else
LSOF_TMP3=""
fi fi if test "X$LSOF_TMP3" != "X" then
LSOF_CFGF="$LSOF_CFGF -DHASPROCFS"
if test $LSOF_TMP1 -eq 0 -a $LSOF_TMP4 -eq 1 then
LSOF_TMP1=1
fi if test -r ${LSOF_TMP3}/procfs.h then
grep -q PFSroot ${LSOF_TMP3}/procfs.h
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASPROCFS_PFSROOT"
fi fi fi LSOF_TMP2="sys/bufq.h"
LSOF_NBSD_BUFQH=0
if test -r ${LSOF_INCLUDE}/$LSOF_TMP2 then
LSOF_CFGF="$LSOF_CFGF -DHASBUFQ_H"
else
if test -r ${NETBSD_SYS}/$LSOF_TMP2 then
if test $NETBSD_SYS != $LSOF_INCLUDE then
LSOF_CFGF="$LSOF_CFGF -DHASBUFQ_H"
LSOF_NBSD_BUFQH=1
fi fi fi LSOF_TMP2="isofs/cd9660"
if test -d ${LSOF_INCLUDE}/$LSOF_TMP2 then
LSOF_TMP3="${LSOF_INCLUDE}/$LSOF_TMP2"
LSOF_TMP4=0
else
if test -d ${NETBSD_SYS}/$LSOF_TMP2 then
LSOF_TMP3="${NETBSD_SYS}/$LSOF_TMP2"
LSOF_TMP4=1
else
LSOF_TMP3=""
fi fi if test "X$LSOF_TMP3" != "X" then
LSOF_CFGF="$LSOF_CFGF -DHAS9660FS=1"
if test $LSOF_TMP1 -eq 0 -a $LSOF_TMP4 -eq 1 then
LSOF_TMP1=1
fi else
LSOF_TMP2="fs/cd9660"
if test -d ${LSOF_INCLUDE}/$LSOF_TMP2 then
LSOF_TMP3="${LSOF_INCLUDE}/$LSOF_TMP2"
LSOF_TMP4=0
else
if test -d ${NETBSD_SYS}/$LSOF_TMP2 then
LSOF_TMP3="${NETBSD_SYS}/$LSOF_TMP2"
LSOF_TMP4=1
else
LSOF_TMP3=""
fi fi if test "X$LSOF_TMP3" != "X" then
LSOF_CFGF="$LSOF_CFGF -DHAS9660FS=1"
if test $LSOF_TMP1 -eq 0 -a $LSOF_TMP4 -eq 1 then
LSOF_TMP1=1
fi fi fi LSOF_TMP2="msdosfs"
if test -d ${LSOF_INCLUDE}/$LSOF_TMP2 then
LSOF_TMP3="${LSOF_INCLUDE}/$LSOF_TMP2"
LSOF_TMP4=0
else
if test -d ${NETBSD_SYS}/$LSOF_TMP2 then
LSOF_TMP3="${NETBSD_SYS}/$LSOF_TMP2"
LSOF_TMP4=1
else
LSOF_TMP3=""
fi fi if test "X$LSOF_TMP3" != "X" then
LSOF_CFGF="$LSOF_CFGF -DHASMSDOSFS=1"
if test $LSOF_TMP1 -eq 0 -a $LSOF_TMP4 -eq 1 then
LSOF_TMP1=1
fi else
LSOF_TMP2="fs/msdosfs"
if test -d ${LSOF_INCLUDE}/$LSOF_TMP2 then
LSOF_TMP3="${LSOF_INCLUDE}/$LSOF_TMP2"
LSOF_TMP4=0
else
if test -d ${NETBSD_SYS}/$LSOF_TMP2 then
LSOF_TMP3="${NETBSD_SYS}/$LSOF_TMP2"
LSOF_TMP4=1
else
LSOF_TMP3=""
fi fi if test "X$LSOF_TMP3" != "X" then
LSOF_CFGF="$LSOF_CFGF -DHASMSDOSFS=2"
if test $LSOF_TMP1 -eq 0 -a $LSOF_TMP4 -eq 1 then
LSOF_TMP1=1
fi fi fi LSOF_TMP2="miscfs/kernfs/kernfs.h"
if test -r ${LSOF_INCLUDE}/$LSOF_TMP2 then
LSOF_TMP3="${LSOF_INCLUDE}/$LSOF_TMP2"
LSOF_TMP4=0
else
if test -r ${NETBSD_SYS}/$LSOF_TMP2 then
LSOF_TMP3="${NETBSD_SYS}/$LSOF_TMP2"
LSOF_TMP4=1
else
LSOF_TMP3=""
fi fi if test "X$LSOF_TMP3" != "X" then
grep -q "kt_name;" $LSOF_TMP3
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASKERNFS"
if test $LSOF_TMP1 -eq 0 -a $LSOF_TMP4 -eq 1 then
LSOF_TMP1=1
fi grep -q "*kfs_kt;" $LSOF_TMP3
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASKERNFS_KFS_KT"
fi fi fi LSOF_TMP2="sys/namei.h"
if test -r ${LSOF_INCLUDE}/$LSOF_TMP2 then
LSOF_TMP3="${LSOF_INCLUDE}/$LSOF_TMP2"
LSOF_TMP4=0
else
if test -r ${NETBSD_SYS}/$LSOF_TMP2 then
LSOF_TMP3="${NETBSD_SYS}/$LSOF_TMP2"
LSOF_TMP4=1
else
LSOF_TMP3=""
fi fi if test "X$LSOF_TMP3" != "X" then
grep -q nc_vpid $LSOF_TMP3
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASNCVPID"
if test $LSOF_TMP1 -eq 0 -a $LSOF_TMP4 -eq 1 then
LSOF_TMP1=1
fi fi fi LSOF_TMP2="ufs/ufs/inode.h"
if test -r ${LSOF_INCLUDE}/$LSOF_TMP2 then
LSOF_TMP3="${LSOF_INCLUDE}/$LSOF_TMP2"
LSOF_TMP4=0
else
if test -r ${NETBSD_SYS}/$LSOF_TMP2 then
LSOF_TMP3="${NETBSD_SYS}/$LSOF_TMP2"
LSOF_TMP4=1
else
LSOF_TMP3=""
fi fi if test "X$LSOF_TMP3" != "X" then
grep -q i_ffs_size $LSOF_TMP3
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASI_FFS"
if test $LSOF_TMP1 -eq 0 -a $LSOF_TMP4 -eq 1 then
LSOF_TMP1=1
fi else
grep -q i_ffs1_size $LSOF_TMP3
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASI_FFS1"
if test $LSOF_TMP1 -eq 0 -a $LSOF_TMP4 -eq 1 then
LSOF_TMP1=1
fi fi fi grep -q i_ffs_effnlink $LSOF_TMP3
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASEFFNLINK=i_ffs_effnlink"
if test $LSOF_TMP1 -eq 0 -a $LSOF_TMP4 -eq 1 then
LSOF_TMP1=1
fi fi fi LSOF_TMP2="sys/vnode.h"
LSOF_NBSD_PTYFS=0
if test -r ${LSOF_INCLUDE}/$LSOF_TMP2 then
LSOF_TMP3="${LSOF_INCLUDE}/$LSOF_TMP2"
LSOF_TMP4=0
else
if test -r ${NETBSD_SYS}/$LSOF_TMP2 then
LSOF_TMP3="${NETBSD_SYS}/$LSOF_TMP2"
LSOF_TMP4=1
else
LSOF_TMP3=""
fi fi if test "XLSOF_TMP3" != "X" then
grep -q VT_EXT2FS $LSOF_TMP3
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASEXT2FS"
if test $LSOF_TMP1 -eq 0 -a $LSOF_TMP4 -eq 1 then
LSOF_TMP1=1
fi LSOF_TMP2="ufs/ufs/inode.h"
if test -r ${LSOF_INCLUDE}/$LSOF_TMP2 then
LSOF_TMP5="${LSOF_INCLUDE}/$LSOF_TMP2"
LSOF_TMP6=0
else
if test -r ${NETBSD_SYS}/$LSOF_TMP2 then
LSOF_TMP5="${NETBSD_SYS}/$LSOF_TMP2"
LSOF_TMP6=1
else
LSOF_TMP5=""
fi fi if test "X$LSOF_TMP5" != "X" then
grep -q "*e2fs_din" $LSOF_TMP5
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASI_E2FS_PTR"
if test $LSOF_TMP1 -eq 0 -a $LSOF_TMP4 -eq 1 then
LSOF_TMP1=$LSOF_TMP6
fi fi fi fi grep -q VT_LFS $LSOF_TMP3
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASLFS"
if test $LSOF_TMP1 -eq 0 -a $LSOF_TMP4 -eq 1 then
LSOF_TMP1=1
fi fi grep -q VT_PTYFS $LSOF_TMP3
if test $? -eq 0 then
LSOF_TMP2="fs/ptyfs/ptyfs.h"
if test -r ${LSOF_INCLUDE}/$LSOF_TMP2 then
LSOF_CFGF="$LSOF_CFGF -DHASPTYFS"
else
if test -r ${NETBSD_SYS}/$LSOF_TMP2 then
if test $NETBSD_SYS != $LSOF_INCLUDE then
LSOF_CFGF="$LSOF_CFGF -DHASPTYFS"
LSOF_NBSD_PTYFS=1
fi fi fi fi if test "X$NETBSD_UVM" = "X" then
grep -q UVM $LSOF_TMP3
if test $? -ne 0 then
egrep -q "v_uvm;|v_uobj;" $LSOF_TMP3
if test $? -eq 0 then
NETBSD_UVM="Y"
fi fi fi fi LSOF_TMP2="nfs/nfsnode.h"
if test -r ${LSOF_INCLUDE}/$LSOF_TMP2 then
LSOF_TMP3="${LSOF_INCLUDE}/$LSOF_TMP2"
LSOF_TMP4=0
else
if test -r ${NETBSD_SYS}/$LSOF_TMP2 then
LSOF_TMP3="${NETBSD_SYS}/$LSOF_TMP2"
LSOF_TMP4=1
else
LSOF_TMP3=""
fi fi if test "X$LSOF_TMP3" != "X" then
grep -q "*n_vattr" $LSOF_TMP3
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASNFSVATTRP"
if test $LSOF_TMP1 -eq 0 -a $LSOF_TMP4 -eq 1 then
LSOF_TMP1=1
fi fi fi LSOF_TMP2="sys/lockf.h"
if test -r ${LSOF_INCLUDE}/$LSOF_TMP2 then
LSOF_TMP3="${LSOF_INCLUDE}/$LSOF_TMP2"
LSOF_TMP4=0
else
if test -r ${NETBSD_SYS}/$LSOF_TMP2 then
LSOF_TMP3="${NETBSD_SYS}/$LSOF_TMP2"
LSOF_TMP4=1
else
LSOF_TMP3=""
fi fi if test "X$LSOF_TMP3" != "X" then
grep -q vop_advlock_args $LSOF_TMP3
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHAS_ADVLOCK_ARGS"
if test $LSOF_TMP1 -eq 0 -a $LSOF_TMP4 -eq 1 then
LSOF_TMP1=1
fi fi grep -q lf_lwp $LSOF_TMP3
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHAS_LF_LWP"
if test $LSOF_TMP1 -eq 0 -a $LSOF_TMP4 -eq 1 then
LSOF_TMP1=1
fi fi fi LSOF_TMP2="sys/lwp.h"
if test -r ${LSOF_INCLUDE}/$LSOF_TMP2 then
LSOF_TMP3="${LSOF_INCLUDE}/$LSOF_TMP2"
LSOF_TMP4=0
else
if test -r ${NETBSD_SYS}/$LSOF_TMP2 then
LSOF_TMP3="${NETBSD_SYS}/$LSOF_TMP2"
LSOF_TMP4=1
else
LSOF_TMP3=""
fi fi if test "X$LSOF_TMP3" != "X" then
LSOF_CFGF="$LSOF_CFGF -DHAS_LWP_H"
if test $LSOF_TMP1 -eq 0 -a $LSOF_TMP4 -eq 1 then
LSOF_TMP1=1
fi fi LSOF_TMP2="sys/filedesc.h"
if test -r ${LSOF_INCLUDE}/$LSOF_TMP2 then
LSOF_TMP3="${LSOF_INCLUDE}/$LSOF_TMP2"
LSOF_TMP4=0
else
if test -r ${NETBSD_SYS}/$LSOF_TMP2 then
LSOF_TMP3="${NETBSD_SYS}/$LSOF_TMP2"
LSOF_TMP4=1
else
LSOF_TMP3=""
fi fi if test "X$LSOF_TMP3" != "X" then
grep -q "^struct cwdinfo {" $LSOF_TMP3
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASCWDINFO"
if test $LSOF_TMP1 -eq 0 -a $LSOF_TMP4 -eq 1 then
LSOF_TMP1=1
fi fi fi LSOF_TMP2="sys/pipe.h"
if test -r ${LSOF_INCLUDE}/$LSOF_TMP2 then
LSOF_TMP3="${LSOF_INCLUDE}/$LSOF_TMP2"
LSOF_TMP4=0
else
if test -r ${NETBSD_SYS}/$LSOF_TMP2 then
LSOF_TMP3="${NETBSD_SYS}/$LSOF_TMP2"
LSOF_TMP4=1
else
LSOF_TMP3=""
fi fi if test "X$LSOF_TMP3" != "X" then
LSOF_CFGF="$LSOF_CFGF -DHAS_SYS_PIPEH"
if test $LSOF_TMP1 -eq 0 -a $LSOF_TMP4 -eq 1 then
LSOF_TMP1=1
fi fi if test -r ${LSOF_INCLUDE}/sys/statvfs.h then
grep -q '^struct statvfs {' ${LSOF_INCLUDE}/sys/statvfs.h
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASSTATVFS"
fi fi
if test $LSOF_TMP1 -eq 1 then
LSOF_DINC="-I$LSOF_INCLUDE -I$NETBSD_SYS"
fi
rm -rf dialects/n+obsd/include
if test "X$NETBSD_UVM" = "XY" -o "X$NETBSD_UVM" = "Xy" then
mkdir dialects/n+obsd/include
touch dialects/n+obsd/include/opt_uvmhist.h
touch dialects/n+obsd/include/opt_lockdebug.h
LSOF_CFGF="$LSOF_CFGF -DUVM -I`pwd`/dialects/n+obsd/include"
if test -d ${LSOF_INCLUDE}/uvm then
LSOF_CFGF="$LSOF_CFGF -DHAS_UVM_INCL"
fi fi LSOF_TMP2="sys/mount.h"
if test -r ${LSOF_INCLUDE}/$LSOF_TMP2 then
LSOF_TMP3="${LSOF_INCLUDE}/$LSOF_TMP2"
else
if test -r ${NETBSD_SYS}/$LSOF_TMP2 then
LSOF_TMP3="${NETBSD_SYS}/$LSOF_TMP2"
else
LSOF_TMP3=""
fi fi if test "X$LSOF_TMP3" != "X" then
LSOF_TMP1=${LSOF_TMPC}.edscr
LSOF_TMP2=${LSOF_TMPC}.netcred
LSOF_TMP3=${LSOF_TMPC}.netexport
LSOF_TMP4=dialects/n+obsd/include/netexport.h
if test ! -d dialects/n+obsd/include then
mkdir dialects/n+obsd/include
fi rm -f $LSOF_TMP1 $LSOF_TMP2 $LSOF_TMP3 $LSOF_TMP4
echo "/^struct netcred" > $LSOF_TMP1
echo "1,.-1d" >> $LSOF_TMP1
echo "/^};" >> $LSOF_TMP1
echo "1,.w $LSOF_TMP2" >> $LSOF_TMP1
ed ${LSOF_INCLUDE}/sys/mount.h < $LSOF_TMP1 > /dev/null 2>&1
rm -f $LSOF_TMP1
echo "/^struct netexport" > $LSOF_TMP1
echo "1,.-1d" >> $LSOF_TMP1
echo "/^};" >> $LSOF_TMP1
echo "1,.w $LSOF_TMP3" >> $LSOF_TMP1
ed ${LSOF_INCLUDE}/sys/mount.h < $LSOF_TMP1 > /dev/null 2>&1
echo "/*" > $LSOF_TMP4
echo " * netexport.h" >> $LSOF_TMP4
echo -n " * Created by Configure: " >> $LSOF_TMP4
echo `date` >> $LSOF_TMP4
echo " */" >> $LSOF_TMP4
echo "" >> $LSOF_TMP4
echo "#if !defined(NETEXPORT_H)" >> $LSOF_TMP4
echo "#define NETEXPORT_H" >> $LSOF_TMP4
echo "" >> $LSOF_TMP4
echo "#include <net/radix.h>" >> $LSOF_TMP4
echo "" >> $LSOF_TMP4
if test -r $LSOF_TMP2 then
cat $LSOF_TMP2 >> $LSOF_TMP4
echo "" >> $LSOF_TMP4
fi if test -r $LSOF_TMP3 then
cat $LSOF_TMP3 >> $LSOF_TMP4
fi echo "#endif /* !defined(NETEXPORT_H) */" >> $LSOF_TMP4
rm -f $LSOF_TMP1 $LSOF_TMP2 $LSOF_TMP3
echo $LSOF_CFGF | grep /dialects/n+obsd/include > /dev/null 2>&1
if test $? -ne 0 then
LSOF_CFGF="$LSOF_CFGF -I`pwd`/dialects/n+obsd/include"
fi fi if test $LSOF_NBSD_BUFQH -eq 1 then
if test ! -d dialects/n+obsd/include then
mkdir dialects/n+obsd/include
fi if test ! -d dialects/n+obsd/include/sys then
mkdir dialects/n+obsd/include/sys
fi cp $NETBSD_SYS/sys/bufq.h dialects/n+obsd/include/sys
echo $LSOF_CFGF | grep /dialects/n+obsd/include > /dev/null 2>&1
if test $? -ne 0 then
LSOF_CFGF="$LSOF_CFGF -I`pwd`/dialects/n+obsd/include"
fi fi if test $LSOF_NBSD_PTYFS -eq 1 then
if test ! -d dialects/n+obsd/include then
mkdir dialects/n+obsd/include
fi if test ! -d dialects/n+obsd/include/fs then
mkdir dialects/n+obsd/include/fs
fi rm -rf dialects/n+obsd/include/fs/ptyfs
mkdir dialects/n+obsd/include/fs/ptyfs
cp $NETBSD_SYS/fs/ptyfs/*.h dialects/n+obsd/include/fs/ptyfs
echo $LSOF_CFGF | grep /dialects/n+obsd/include > /dev/null 2>&1
if test $? -ne 0 then
LSOF_CFGF="$LSOF_CFGF -I`pwd`/dialects/n+obsd/include"
fi fi LSOF_CFGL="$LSOF_CFGL -lkvm"
LSOF_DIALECT_DIR=n+obsd
;;
nextstep|next|ns|nxt|openstep|os)
LSOF_TGT="ns"
LSOF_TSTXO="../lib/snpf.o"
if test "X$LSOF_AR" = "X" then
LSOF_AR="rm -f \${LIB}; ar cr"
fi if test "X$LSOF_VSTR" = "X" then
LSOF_VSTR=`hostinfo | sed -n 's/.*NeXT Mach \([0-9\.]*\).*/\1/p'`
fi if test "X$LSOF_VERS" = "X" then
LSOF_VERS=`echo $LSOF_VSTR | sed -n 's/\([0-9]*\)\.\([0-9]*\)/\1\2/p'`
fi if test "X$LSOF_CC" = "X" then
if test -x /usr/local/bin/gcc then
LSOF_CC=/usr/local/bin/gcc
LSOF_CCV=`$LSOF_CC -v 2>&1 | sed -n 's/.*version \(.*\)/\1/p'`
else
LSOF_CC=cc
LSOF_CCV=`$LSOF_CC -v 2>&1 | sed -n 's/.*version \(.*\)/\1/p'`
fi fi echo $LSOF_CC | grep gcc > /dev/null
if test $? -eq 0 then
LSOF_CFGL="-w"
LSOF_DEBUG="-pedantic -O"
else
LSOF_CFGL=""
fi LSOF_CFGF="-DSTEPV=$LSOF_VERS"
LSOF_DIALECT_DIR=n+os
if test -r ${AFS_VICE}/etc/ThisCell then
if test "X$LSOF_SCRIPT_CALL" = "Xno" then
if test -r ./AFSHeaders -a -r ./AFSVersion then
LSOF_AFS="yes"
fi else
if test ! -x ./AFSConfig then
echo "Can't find or execute the AFSConfig script"
rm -f $LSOF_HLP
exit 1
fi ./AFSConfig
if test $? -eq 0 -a -r ./AFSHeaders -a -r ./AFSVersion then
LSOF_AFS="yes"
fi fi if test "X$LSOF_AFS" = "Xyes" then
LSOF_AFSV=`cat ./AFSVersion | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1 \2/' | awk '{printf "%d%02d\n",\$1,\$2}'`
LSOF_CFGF="$LSOF_CFGF -DHAS_AFS=$LSOF_AFSV"
LSOF_DINC="$LSOF_DINC -I`cat ./AFSHeaders`"
fi fi ;;
openbsd)
if test "X$LSOF_CC" = "X" then
LSOF_CC=cc
LSOF_CCV=`$LSOF_CC -v 2>&1 | sed -n 's/.*version \(.*\)/\1/p'`
fi if test "X$LSOF_VSTR" = "X" then
LSOF_VSTR=`uname -r`
fi if test "X$LSOF_VERS" = "X" then
case $LSOF_VSTR in 1*)
LSOF_VERS=1020
echo "!!!WARNING!!! Unsupported OpenBSD 1.x version: $LSOF_VSTR"
echo "!!!WARNING!!! Configuring for OpenBSD 1.2"
;;
2.5*)
LSOF_VERS=2050
;;
2.6*)
LSOF_VERS=2060
;;
2.7*)
LSOF_TSTBIGF=" "
LSOF_VERS=2070
;;
2.8*)
LSOF_TSTBIGF=" "
LSOF_VERS=2080
;;
2.9*)
LSOF_TSTBIGF=" "
LSOF_VERS=2090
;;
2*)
LSOF_TSTBIGF=" "
LSOF_VERS=2090
echo "!!!WARNING!!! Unsupported OpenBSD 2.x version: $LSOF_VSTR"
echo "!!!WARNING!!! Configuring for OpenBSD 2.9"
;;
3.0*)
LSOF_TSTBIGF=" "
LSOF_VERS=3000
;;
3.1*)
LSOF_TSTBIGF=" "
LSOF_VERS=3010
;;
3.2*)
LSOF_TSTBIGF=" "
LSOF_VERS=3020
;;
3.3*)
LSOF_TSTBIGF=" "
LSOF_VERS=3030
;;
3.4*)
LSOF_TSTBIGF=" "
LSOF_VERS=3040
;;
3.5*)
LSOF_TSTBIGF=" "
LSOF_VERS=3050
;;
3.6*)
LSOF_TSTBIGF=" "
LSOF_VERS=3060
;;
3.7*)
LSOF_TSTBIGF=" "
LSOF_VERS=3070
;;
3.8*)
LSOF_TSTBIGF=" "
LSOF_VERS=3080
;;
3.9*)
LSOF_TSTBIGF=" "
LSOF_VERS=3090
;;
3*)
LSOF_TSTBIGF=" "
LSOF_VERS=3090
echo "!!!WARNING!!! Unsupported OpenBSD 3.x version: $LSOF_VSTR"
echo "!!!WARNING!!! Configuring for OpenBSD 3.9"
;;
*)
echo "Unknown OpenBSD release: $LSOF_VSTR"
echo Assuming OpenBSD 3.9
LSOF_VERS=3090
;;
esac fi
case $LSOF_VERS in 1020|2050|2060|2070|2080|2090|3000|3010|3020|3030|3040|3050|3060|3070|3080|3090)
;;
*)
echo "Unknown OpenBSD version: $LSOF_VERS"
rm -f $LSOF_HLP
exit 1
;;
esac LSOF_CFGF="-DOPENBSDV=$LSOF_VERS"
if test -r /dev/ksyms then
LSOF_CFGF="$LSOF_CFGF -DN_UNIXV=/dev/ksyms"
else
LSOF_CFGF="$LSOF_CFGF -DN_UNIXV=/bsd"
fi
if test -r ${LSOF_INCLUDE}/nfs/nfsproto.h then
LSOF_CFGF="$LSOF_CFGF -DHASNFSPROTO"
fi if test -r ${LSOF_INCLUDE}/netinet6/in6.h then
LSOF_CFGF="$LSOF_CFGF -DHASIPv6"
fi LSOF_TMP1=0
if test "X$OPENBSD_SYS" = "X" then
OPENBSD_SYS="/sys"
fi if test -r ${OPENBSD_SYS}/miscfs/fdesc/fdesc.h then
grep -q Fctty ${OPENBSD_SYS}/miscfs/fdesc/fdesc.h
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASFDESCFS=1"
else
LSOF_CFGF="$LSOF_CFGF -DHASFDESCFS=2"
fi grep -q fd_link ${OPENBSD_SYS}/miscfs/fdesc/fdesc.h
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASFDLINK"
fi LSOF_TMP1=1
fi if test -r ${LSOF_INCLUDE}/sys/vnode.h then
grep -q VT_LFS ${LSOF_INCLUDE}/sys/vnode.h
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASLFS"
fi fi if test -r ${LSOF_INCLUDE}/miscfs/nullfs/null.h then
LSOF_CFGF="$LSOF_CFGF -DHASNULLFS"
else
if test -r ${OPENBSD_SYS}/miscfs/nullfs/null.h then
LSOF_CFGF="$LSOF_CFGF -DHASNULLFS"
LSOF_TMP1=1
fi fi if test -d ${OPENBSD_SYS}/miscfs/procfs then
LSOF_CFGF="$LSOF_CFGF -DHASPROCFS"
LSOF_TMP1=1
fi if test -d ${OPENBSD_SYS}/isofs/cd9660 then
LSOF_CFGF="$LSOF_CFGF -DHAS9660FS=1"
LSOF_TMP1=1
else
if test -d ${OPENBSD_SYS}/fs/cd9660 then
LSOF_CFGF="$LSOF_CFGF -DHAS9660FS=2"
LSOF_TMP1=1
fi fi if test -d ${OPENBSD_SYS}/msdosfs then
LSOF_CFGF="$LSOF_CFGF -DHASMSDOSFS=1"
LSOF_TMP1=1
else
if test -d ${OPENBSD_SYS}/fs/msdosfs then
LSOF_CFGF="$LSOF_CFGF -DHASMSDOSFS=2"
LSOF_TMP1=1
fi fi if test -r ${OPENBSD_SYS}/miscfs/kernfs/kernfs.h then
grep -q "kt_name;" ${OPENBSD_SYS}/miscfs/kernfs/kernfs.h
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASKERNFS"
LSOF_TMP1=1
fi fi if test $LSOF_TMP1 -eq 1 -a "X$LSOF_INCLUDE" != "X$OPENBSD_SYS" then
LSOF_DINC="-I$LSOF_INCLUDE -I$OPENBSD_SYS"
fi grep -q VT_EXT2FS ${LSOF_INCLUDE}/sys/vnode.h
if test $? -eq 0 then
LSOF_TMP1=1
if test -r ${LSOF_INCLUDE}/ufs/ufs/inode.h then
grep -q "*e2fs_din" ${LSOF_INCLUDE}/ufs/ufs/inode.h
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASI_E2FS_PTR"
fi grep -q "^#define[ ]i_e2din" ${LSOF_INCLUDE}/ufs/ufs/inode.h
if test $? -eq 0 then
LSOF_TMP1=2
fi fi LSOF_CFGF="$LSOF_CFGF -DHASEXT2FS=$LSOF_TMP1"
fi if test -r ${LSOF_INCLUDE}/ufs/ufs/inode.h then
grep -q i_effnlink ${LSOF_INCLUDE}/ufs/ufs/inode.h
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASEFFNLINK=i_effnlink"
fi grep -q dinode_u ${LSOF_INCLUDE}/ufs/ufs/inode.h
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHAS_DINODE_U"
fi grep -q i_ffs1_size ${LSOF_INCLUDE}/ufs/ufs/inode.h
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASI_FFS1"
fi grep -q UM_UFS ${LSOF_INCLUDE}/ufs/ufs/inode.h
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHAS_UM_UFS"
fi fi if test -r ${LSOF_INCLUDE}/sys/namei.h
then
grep -q nc_vpid ${LSOF_INCLUDE}/sys/namei.h
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASNCVPID"
fi fi if test "X$OPENBSD_UVM" = "X" then
if test -r ${LSOF_INCLUDE}/sys/vnode.h then
grep -q UVM ${LSOF_INCLUDE}/sys/vnode.h
if test $? -ne 0 then
egrep -q "v_uvm;|v_uobj;" ${LSOF_INCLUDE}/sys/vnode.h
if test $? -eq 0 then
OPENBSD_UVM="Y"
fi fi fi fi if test "X$OPENBSD_UVM" = "XY" -o "X$OPENBSD_UVM" = "Xy" then
LSOF_CFGF="$LSOF_CFGF -DUVM"
if test -d ${LSOF_INCLUDE}/uvm then
LSOF_CFGF="$LSOF_CFGF -DHAS_UVM_INCL"
fi fi if test -r ${LSOF_INCLUDE}/sys/mount.h -a $LSOF_VERS -lt 3030 then
LSOF_TMP1=${LSOF_TMPC}.edscr
LSOF_TMP2=${LSOF_TMPC}.netcred
LSOF_TMP3=${LSOF_TMPC}.netexport
LSOF_TMP4=dialects/n+obsd/include/netexport.h
if test ! -d dialects/n+obsd/include then
mkdir dialects/n+obsd/include
fi rm -f $LSOF_TMP1 $LSOF_TMP2 $LSOF_TMP3 $LSOF_TMP4
echo "/^struct netcred" > $LSOF_TMP1
echo "1,.-1d" >> $LSOF_TMP1
echo "/^};" >> $LSOF_TMP1
echo "1,.w $LSOF_TMP2" >> $LSOF_TMP1
ed ${LSOF_INCLUDE}/sys/mount.h < $LSOF_TMP1 > /dev/null 2>&1
rm -f $LSOF_TMP1
echo "/^struct netexport" > $LSOF_TMP1
echo "1,.-1d" >> $LSOF_TMP1
echo "/^};" >> $LSOF_TMP1
echo "1,.w $LSOF_TMP3" >> $LSOF_TMP1
ed ${LSOF_INCLUDE}/sys/mount.h < $LSOF_TMP1 > /dev/null 2>&1
echo "/*" > $LSOF_TMP4
echo " * netexport.h" >> $LSOF_TMP4
echo -n " * Created by Configure: " >> $LSOF_TMP4
echo `date` >> $LSOF_TMP4
echo " */" >> $LSOF_TMP4
echo "" >> $LSOF_TMP4
echo "#if !defined(NETEXPORT_H)" >> $LSOF_TMP4
echo "#define NETEXPORT_H" >> $LSOF_TMP4
echo "" >> $LSOF_TMP4
echo "#include <net/radix.h>" >> $LSOF_TMP4
echo "" >> $LSOF_TMP4
if test -r $LSOF_TMP2 then
cat $LSOF_TMP2 >> $LSOF_TMP4
echo "" >> $LSOF_TMP4
fi if test -r $LSOF_TMP3 then
cat $LSOF_TMP3 >> $LSOF_TMP4
fi echo "#endif /* !defined(NETEXPORT_H) */" >> $LSOF_TMP4
rm -f $LSOF_TMP1 $LSOF_TMP2 $LSOF_TMP3
echo $LSOF_CFGF | grep /dialects/n+obsd/include > /dev/null 2>&1
if test $? -ne 0 then
LSOF_CFGF="$LSOF_CFGF -I`pwd`/dialects/n+obsd/include"
fi fi if test -r ${LSOF_INCLUDE}/sys/lockf.h then
grep vop_advlock_args ${LSOF_INCLUDE}/sys/lockf.h > /dev/null
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHAS_ADVLOCK_ARGS"
fi fi if test -r ${LSOF_INCLUDE}/sys/pipe.h then
LSOF_CFGF="$LSOF_CFGF -DHAS_SYS_PIPEH"
fi LSOF_CFGL="-lkvm"
LSOF_DIALECT_DIR=n+obsd
;;
osr|osrgcc|sco|scogcc)
LSOF_RANLIB=""
if test "X$OSR_CFGF" != "X" then
LSOF_CFGF=$OSR_CFGF
fi if test "X$OSR_CFGL" != "X" then
LSOF_CFGL=$OSR_CFGL
fi
if test "X$LSOF_CC" = "X" then
if test "X$LSOF_TGT" = "Xosr" -o "X$LSOF_TGT" = "Xsco" then
LSOF_CC=cc
LSOF_TMP1=1
else
LSOF_CC=gcc
LSOF_CCV=`$LSOF_CC -v 2>&1 | sed -n 's/.*version \(.*\)/\1/p'`
LSOF_TMP1=2
fi else
LSOF_TMP1=0
fi LSOF_TGT="osr"
if test "X$LSOF_VSTR" = "X" then
LSOF_VSTR="`LANG=C_C.C /bin/uname -X 2>/dev/null | grep Release | sed 's/Release = \(.*\)/\1/'`"
fi if test "X$LSOF_VERS" = "X" then
case $LSOF_VSTR in 3.2v2.0)
LSOF_VERS="20"
;;
3.2v2.1)
LSOF_VERS="21"
;;
3.2v4.0)
LSOF_VERS="40"
;;
3.2v4.1)
LSOF_VERS="41"
;;
3.2v4.2)
LSOF_VERS="42"
;;
3.2v5.*)
LSOF_TSTLFLG="-lsocket"
LSOF_VERS="`echo $LSOF_VSTR | sed 's/3\.2v//; s/\.//g'`"
;;
*)
echo Unknown SCO OpenServer release: $LSOF_VSTR
echo Assuming 3.2.0 or 3.2.1
LSOF_VERS="0"
;;
esac fi
case $LSOF_VERS in 0)
if test $LSOF_TMP1 -eq 1 then
LSOF_CFGF="$LSOF_CFGF -nointl"
LSOF_DEBUG="-Ox"
fi LSOF_CFGL="$LSOF_CFGL -lrpc -lsocket -lc_s"
LSOF_MKC="cp"
;;
20)
if test $LSOF_TMP1 -eq 1 then
LSOF_DEBUG="-Ox"
fi LSOF_CFGL="$LSOF_CFGL -lrpc -lsocket -lc_s"
LSOF_MKC="cp"
;;
21)
if test $LSOF_TMP1 -eq 1 then
LSOF_CFGF="$LSOF_CFGF -nointl"
LSOF_DEBUG="-Ox"
fi LSOF_CFGL="$LSOF_CFGL -lrpc -lsocket -lc_s"
LSOF_MKC="cp"
;;
40)
if test $LSOF_TMP1 -eq 1 then
LSOF_CFGF="$LSOF_CFGF -nointl"
LSOF_DEBUG="-Ox"
fi LSOF_CFGL="$LSOF_CFGL -lrpc -lsocket -lc_s"
;;
41)
if test $LSOF_TMP1 -eq 1 then
LSOF_CFGF="$LSOF_CFGF -nointl"
LSOF_DEBUG="-Ox"
fi LSOF_CFGL="$LSOF_CFGL -lrpc -lsocket -lc_s"
;;
42)
if test $LSOF_TMP1 -eq 1 then
LSOF_CFGF="$LSOF_CFGF -nointl"
LSOF_DEBUG="-Ox"
fi LSOF_CFGL="$LSOF_CFGL -lrpc -lsocket -lc_s"
;;
5*)
if test $LSOF_TMP1 -eq 1 then
LSOF_CFGF="$LSOF_CFGF -belf"
LSOF_DEBUG="-O3 -Kspace"
fi LSOF_CFGL="$LSOF_CFGL -lsocket"
;;
*)
echo "Unsupported SCO OpenServer release: $LSOF_VERS"
rm -f $LSOF_HLP
exit 1
;;
esac LSOF_CFGF="$LSOF_CFGF -DOSRV=$LSOF_VERS"
if test "X$OSR_STATLSTAT" = "X" then
echo "Testing libc.a for statlstat"
/bin/nm /lib/libc.a | grep statlstat > /dev/null 2>&1
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHAS_STATLSTAT"
fi else
if test "X$OSR_STATLSTAT" = "XY" -o "X$OSR_STATLSTAT" = "Xy" then
LSOF_CFGF="$LSOF_CFGF -DHAS_STATLSTAT"
fi fi if test -r ${LSOF_INCLUDE}/sys/fs/nfs/rnode.h then
LSOF_CFGF="$LSOF_CFGF -DHAS_NFS"
fi if test ! -r ${LSOF_INCLUDE}/netdb.h then
LSOF_DINC="$LSOF_DINC -I`pwd`/dialects/osr/include"
fi LSOF_DIALECT_DIR=osr
;;
solaris|solariscc)
LSOF_RANLIB=""
if test "X$LSOF_CC" = "X" then
if test "X$LSOF_TGT" = "Xsolariscc" then
if test "X$SOLARIS_CCDIR" = "X" then
SOLARIS_CCDIR="/opt/SUNWspro/bin"
fi if test -x ${SOLARIS_CCDIR}/cc then
LSOF_CC=${SOLARIS_CCDIR}/cc
else
echo "WARNING: no cc in ${SOLARIS_CCDIR}; using cc without path."
LSOF_CC=cc
fi LSOF_CCV=`$LSOF_CC -V 2>&1 | sed -n 's/^cc: \(.*\)/\1/p'`
else
LSOF_CC=gcc
LSOF_CCV=`$LSOF_CC -v 2>&1 | sed -n 's/.*version \(.*\)/\1/p'`
fi fi LSOF_TGT="solaris"
if test "X$LSOF_VSTR" = "X" then
LSOF_VSTR=`uname -r`
fi if test "X$LSOF_VERS" = "X" then
case $LSOF_VSTR in 5.[0-2])
LSOF_VERS="20300"
;;
5.3)
LSOF_VERS="20300"
;;
5.4)
LSOF_VERS="20400"
;;
5.5)
LSOF_VERS="20500"
;;
5.5.1)
LSOF_VERS="20501"
;;
5.6*)
LSOF_TSTLFLG="-lsocket -lnsl"
LSOF_VERS="20600"
;;
5.7*)
LSOF_TSTBIGF=" "
LSOF_TSTLFLG="-lsocket -lnsl"
LSOF_VERS="70000"
;;
5.8*)
LSOF_TSTBIGF=" "
LSOF_TSTLFLG="-lsocket -lnsl"
LSOF_VERS="80000"
;;
5.9*)
LSOF_TSTBIGF=" "
LSOF_TSTLFLG="-lsocket -lnsl"
LSOF_VERS="90000"
;;
5.10*)
LSOF_TSTBIGF=" "
LSOF_TSTLFLG="-lsocket -lnsl"
LSOF_VERS="100000"
;;
*)
echo Unknown Solaris version: $LSOF_VSTR
rm -f $LSOF_HLP
exit 1
esac fi
case $LSOF_VERS in 20300)
if test "X$SOLARIS_23P101318" = "X" then
LSOF_PL=`grep -h SUNW_PATCHID=101318 /var/sadm/pkg/SUNWcar*/pkginfo | sed 's/.*-//' | sort -u | tail -1`
if test "X$LSOF_PL" = "X" then
LSOF_PL=0
fi else
LSOF_PL=$SOLARIS_23P101318
fi if test $LSOF_PL -gt 0 then
LSOF_CFGF="-DP101318=$LSOF_PL"
fi ;;
20400)
if test "X$SOLARIS_24P101945" = "X" then
LSOF_PL=`grep -h SUNW_PATCHID=101945 /var/sadm/pkg/SUNWcar*/pkginfo | sed 's/.*-//' | sort -u | tail -1`
if test "X$LSOF_PL" = "X" then
LSOF_PL=0
fi else
LSOF_PL=$SOLARIS_24P101945
fi if test $LSOF_PL -ge 32 then
if test "X$SOLARIS_24P102303" = "X" then
LSOF_PL=`grep -h SUNW_PATCHID=102303 /var/sadm/pkg/SUNWhea*/pkginfo | sed 's/.*-//' | sort -u | tail -1`
if test "X$LSOF_PL" = "X" then
LSOF_PL=0
fi else
LSOF_PL=$SOLARIS_24P102303
fi if test $LSOF_PL -ge 2 then
echo "WARNING: your Solaris 2.4 system appears to have patches 101945-32 and 102303-2"
echo " installed. This probably means the NUM_*_VECTORS definitions in"
echo " <sys/auxv.h> don't match the ones used to build your kernel. Consult"
echo " the Sun Problems section of the 00FAQ file of the lsof distribution"
echo " for more information on how to work around the problem."
fi fi ;;
20500|20501)
;;
20600|70000|80000|90000|100000)
if test "X$SOLARIS_26PR_GWINDOWS" = "X" then
rm -f ${LSOF_TMPC}.*
echo "#define _KMEMUSER" > ${LSOF_TMPC}.c
echo "#include <sys/proc/prdata.h>" >> ${LSOF_TMPC}.c
echo "main(){" >> ${LSOF_TMPC}.c
echo "enum prnodetype p=PR_GWINDOWS;}" >> ${LSOF_TMPC}.c
echo "Testing prdata.h for PR_GWINDOWS, using $LSOF_CC"
echo $LSOF_CC | grep gcc > /dev/null
if test $? -eq 0 then
$LSOF_CC ${LSOF_TMPC}.c -o ${LSOF_TMPC}.x > /dev/null 2>&1
else
$LSOF_CC ${LSOF_TMPC}.c -I$LSOF_INCLUDE -o ${LSOF_TMPC}.x > /dev/null 2>&1
fi if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASPR_GWINDOWS"
fi else
if test "X$SOLARIS_26PR_GWINDOWS" = "XY" -o "X$SOLARIS_26PR_GWINDOWS" = "Xy" then
LSOF_CFGF="$LSOF_CFGF -DHASPR_GWINDOWS"
fi fi if test "X$SOLARIS_26PR_LDT" = "X" then
rm -f ${LSOF_TMPC}.*
echo "#define _KMEMUSER" > ${LSOF_TMPC}.c
echo "#include <sys/proc/prdata.h>" >> ${LSOF_TMPC}.c
echo "main(){" >> ${LSOF_TMPC}.c
echo "enum prnodetype p=PR_LDT;}" >> ${LSOF_TMPC}.c
echo "Testing prdata.h for PR_LDT, using $LSOF_CC"
echo $LSOF_CC | grep gcc > /dev/null
if test $? -eq 0 then
$LSOF_CC ${LSOF_TMPC}.c -o ${LSOF_TMPC}.x > /dev/null 2>&1
else
$LSOF_CC ${LSOF_TMPC}.c -I$LSOF_INCLUDE -o ${LSOF_TMPC}.x > /dev/null 2>&1
fi if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASPR_LDT"
fi rm -f ${LSOF_TMPC}.*
else
if test "X$SOLARIS_26PR_LDT" = "XY" -o "X$SOLARIS_26PR_LDT" = "Xy" then
LSOF_CFGF="$LSOF_CFGF -DHASPR_LDT"
fi fi if test $LSOF_VERS -ge 70000 then
if test "X$SOLARIS_KERNBITS" = "X" then
SOLARIS_KERNBITS=`/bin/isainfo -kv`
fi echo $SOLARIS_KERNBITS | grep 64 > /dev/null
if test $? -eq 0 then
echo $LSOF_CC | grep gcc > /dev/null
if test $? -eq 0 then
echo "Testing $LSOF_CC for 64 bit support"
rm -f ${LSOF_TMPC}.*
echo "main(){}" > ${LSOF_TMPC}.c
LSOF_TMP1=""
$LSOF_CC ${LSOF_TMPC}.c -m64 -o ${LSOF_TMPC}.x > /dev/null 2>&1
if test $? -eq 0 then
/bin/file ${LSOF_TMPC}.x | /bin/grep 64 > /dev/null
if test $? -eq 0 then
LSOF_TMP1="-m64"
fi fi rm -f ${LSOF_TMPC}.*
if test "X$LSOF_TMP1" = "X" then
echo "main(){}" > ${LSOF_TMPC}.c
$LSOF_CC ${LSOF_TMPC}.c -mcpu=v9 -o ${LSOF_TMPC}.x > /dev/null 2>&1
if test $? -eq 0 then
/bin/file ${LSOF_TMPC}.x | /bin/grep 64 > /dev/null
if test $? -eq 0 then
LSOF_TMP1="-mcpu=v9"
fi fi rm -f ${LSOF_TMPC}.*
fi if test "X$LSOF_TMP1" = "X" then
echo ""
echo "!!!WARNING!!!=========!!!WARNING!!!=========!!!WARNING!!!"
echo "! !"
echo "! LSOF NEEDS TO BE CONFIGURED FOR A 64 BIT KERNEL, BUT !"
echo "! THIS GCC DOESN'T SUPPORT THE BUILDING OF 64 BIT !"
echo "! SOLARIS EXECUTABLES. LSOF WILL BE CONFIGURED FOR A !"
echo "! 32 BIT KERNEL. !"
echo "! !"
echo "!!!WARNING!!!=========!!!WARNING!!!=========!!!WARNING!!!"
echo ""
else
echo ""
echo "*********************************"
echo "* Configuring for 64 bit kernel *"
echo "*********************************"
echo ""
LSOF_CFGF="$LSOF_CFGF $LSOF_TMP1"
LSOF_CINFO="64 bit kernel"
LSOF_TSTK64=1
fi else
if test "X$SOLARIS_INSTR" = "X" then
SOLARIS_INSTR=`/bin/isainfo -k`
fi case $SOLARIS_INSTR in amd64*)
LSOF_TMP1="amd64"
LSOF_TMP2="amd64"
;;
sparc*)
LSOF_TMP1="v9"
LSOF_TMP2="sparcv9"
;;
*)
LSOF_TMP1=""
;;
esac if test "X$LSOF_TMP1" != "X" then
echo "Testing $LSOF_CC for 64 bit $LSOF_TMP2 support"
rm -f ${LSOF_TMPC}.*
LSOF_TMP3="-xarch=$LSOF_TMP1"
echo "main(){}" > ${LSOF_TMPC}.c
$LSOF_CC ${LSOF_TMPC}.c $LSOF_TMP3 -o ${LSOF_TMPC}.x > /dev/null 2>&1
if test $? -eq 0 then
/bin/file ${LSOF_TMPC}.x | /bin/grep 64 > /dev/null
if test $? -ne 0 then
LSOF_TMP3=""
fi fi rm -f ${LSOF_TMPC}.*
else
LSOF_TMP3=""
fi if test "X$LSOF_TMP3" != "X" then
echo ""
echo "*********************************"
echo "* Configuring for 64 bit kernel *"
echo "*********************************"
echo ""
LSOF_CFGF="$LSOF_CFGF $LSOF_TMP3"
LSOF_CINFO="64 bit kernel"
LSOF_TSTK64=1
else
echo ""
echo "!!!WARNING!!!==========!!!WARNING!!!==========!!!WARNING!!!"
echo "!"
echo "! LSOF NEEDS TO BE CONFIGURED FOR A 64 BIT KERNEL, BUT"
echo "! THE VERSION OF SUN C AVAILABLE DOESN'T SUPPORT THE"
echo "! \"$LSOF_TMP2\" INSTRUCTION SET."
echo "!"
echo "! LSOF WILL BE CONFIGURED FOR A 32 BIT KERNEL."
echo "!"
echo "!!!WARNING!!!==========!!!WARNING!!!==========!!!WARNING!!!"
echo ""
fi fi else
echo ""
echo "*********************************"
echo "* Configuring for 32 bit kernel *"
echo "*********************************"
echo ""
LSOF_CINFO="32 bit kernel"
fi fi
if test $LSOF_VERS -ge 80000 then
if test -r ${LSOF_INCLUDE}/netinet/ip6.h then
LSOF_CFGF="$LSOF_CFGF -DHASIPv6"
fi fi
if test $LSOF_VERS -ge 90000 then
if test -r ${LSOF_INCLUDE}/sys/socketvar.h then
grep soua_vp ${LSOF_INCLUDE}/sys/socketvar.h > /dev/null 2>&1
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASSOUXSOUA"
fi fi fi
if test $LSOF_VERS -ge 100000 then
if test -r ${LSOF_INCLUDE}/inet/ipclassifier.h then
LSOF_CFGF="$LSOF_CFGF -DHAS_IPCLASSIFIER_H"
fi if test -r ${LSOF_INCLUDE}/sys/cred_impl.h then
LSOF_CFGF="$LSOF_CFGF -DHAS_CRED_IMPL_H"
grep "c2/audit.h" ${LSOF_INCLUDE}/sys/cred_impl.h > /dev/null
if test $? -eq 0 then
rm -rf `pwd`/dialects/sun/solaris10
mkdir `pwd`/dialects/sun/solaris10
mkdir `pwd`/dialects/sun/solaris10/c2
touch `pwd`/dialects/sun/solaris10/c2/audit.h
LSOF_CFGF="$LSOF_CFGF -I`pwd`/dialects/sun/solaris10"
fi
fi if test -r ${LSOF_INCLUDE}/sys/vnode.h then
grep v_path ${LSOF_INCLUDE}/sys/vnode.h > /dev/null 2>&1
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHAS_V_PATH"
LSOF_TSTVPATH=1
fi fi fi if test -r ${LSOF_INCLUDE}/sys/zone.h then
LSOF_CFGF="$LSOF_CFGF -DHASZONES"
fi
if test -r ${LSOF_INCLUDE}/sys/fs/zfs.h then
LSOF_TMP1="dmu.h zfs_acl.h zfs_debug.h zfs_rlock.h zil.h spa.h zfs_context.h zfs_dir.h zfs_vfsops.h zio.h txg.h zfs_ctldir.h zfs_ioctl.h zfs_znode.h zio_impl.h"
LSOF_TMP2=""
for i in $LSOF_TMP1 do
if test ! -r /usr/include/sys/$i then
if test "X$LSOF_TMP2" = "X" then
LSOF_TMP2=$i
else
LSOF_TMP2="$LSOF_TMP2 $i"
fi fi done if test "X$LSOF_TMP2" != "X" then
LSOF_TMP3=`pwd`/dialects/sun/get-hdr-loc.sh
if test ! -x $LSOF_TMP3 then
echo "FATAL: can't execute: $LSOF_TMP3"
rm -f $LSOF_HLP
exit 1
fi LSOF_TMP4=`$LSOF_TMP3 $LSOF_TMP2`
if test $? -eq 0 then
if test "X$LSOF_TMP4" = "X" then
LSOF_CFGF="$LSOF_CFGF -DHAS_ZFS=1"
else
LSOF_CFGF="$LSOF_CFGF -DHAS_ZFS=2 -I$LSOF_TMP4"
fi else
if test "X$LSOF_TMP4" != "X" then
echo "$LSOF_TMP3 detected the error: $LSOF_TMP4"
rm -f $LSOF_HLP
exit 1
fi fi fi fi ;;
*)
echo "Unsupported Solaris version: $LSOF_VERS"
rm -f $LSOF_HLP
exit 1
;;
esac LSOF_CFGF="-Dsolaris=$LSOF_VERS $LSOF_CFGF"
if test -r ${LSOF_INCLUDE}/utmpx.h then
LSOF_CFGF="$LSOF_CFGF -DHASUTMPX"
fi
if test "X$SOLARIS_VSOCK" = "X" then
rm -f ${LSOF_TMPC}.*
echo "#include <sys/vnode.h>" > ${LSOF_TMPC}.c
echo "main(){" >> ${LSOF_TMPC}.c
echo "enum vtype p=VSOCK;}" >> ${LSOF_TMPC}.c
echo "Testing vnode.h for VSOCK, using $LSOF_CC"
echo $LSOF_CC | grep gcc > /dev/null
if test $? -eq 0 then
$LSOF_CC ${LSOF_TMPC}.c -o ${LSOF_TMPC}.x > /dev/null 2>&1
else
$LSOF_CC ${LSOF_TMPC}.c -I$LSOF_INCLUDE -o ${LSOF_TMPC}.x > /dev/null 2>&1
fi if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHAS_VSOCK"
fi rm -f ${LSOF_TMPC}.*
else
if test "X$SOLARIS_VSOCK" = "XY" -o "X$SOLARIS_VSOCK" = "Xy" then
LSOF_CFGF="$LSOF_CFGF -DHAS_VSOCK"
fi fi
if test -r ${AFS_VICE}/etc/ThisCell then
if test "X$LSOF_SCRIPT_CALL" = "Xno" then
if test -r ./AFSHeaders -a -r ./AFSVersion then
LSOF_AFS="yes"
fi else
if test ! -x ./AFSConfig then
echo "Can't find or execute the AFSConfig script"
rm -f $LSOF_HLP
exit 1
fi ./AFSConfig
if test $? -eq 0 -a -r ./AFSHeaders -a -r ./AFSVersion then
LSOF_AFS="yes"
fi fi if test "X$LSOF_AFS" = "Xyes" then
if test "X$SUN_AFSAPATHDEF" = "X" then
ls /usr/vice/etc/modload/libafs > /dev/null 2>&1
if test $? -ne 0 then
LSOF_TMP1=`ls /usr/vice/etc/modload/libafs* 2>/dev/null | wc -l`
if test $LSOF_TMP1 -ne 0 then
SUN_AFSAPATHDEF=`ls -t /usr/vice/etc/modload/libafs* | head -1`
fi fi fi if test "X$SUN_AFSAPATHDEF" != "X" then
LSOF_CFGF="$LSOF_CFGF -DAFSAPATHDEF=\\\"$SUN_AFSAPATHDEF\\\""
fi LSOF_AFSV=`cat ./AFSVersion | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1 \2/' | awk '{printf "%d%02d\n",\$1,\$2}'`
LSOF_CFGF="$LSOF_CFGF -DHAS_AFS=$LSOF_AFSV"
LSOF_DINC="$LSOF_DINC -I`cat ./AFSHeaders`"
fi fi
LSOF_TMP2=$SOLARIS_VXFSINCL
if test -d /opt/VRTS/include then
LSOF_TMP2="$LSOF_TMP2 /opt/VRTS/include"
fi if test -d /opt/VRTSvxfs/include then
LSOF_TMP2="$LSOF_TMP2 /opt/VRTSvxfs/include"
fi LSOF_TMP1=0
for i in $LSOF_TMP2 do
if test -r ${i}/vxfsutil.h then
LSOF_TMP1=1
SOLARIS_VXFSINCL=$i
break
fi done if test $LSOF_TMP1 -eq 1 then
LSOF_CFGF="$LSOF_CFGF -DHASVXFS -DHASVXFSUTIL -I$SOLARIS_VXFSINCL"
echo "X$LSOF_CINFO" | grep "^X64" > /dev/null 2>&1
if test $? -eq 0 then
LSOF_TMP2="/sparcv9"
else
LSOF_TMP2=""
fi
if test "X$SOLARIS_VXFSLIB" = "X" then
SOLARIS_VXFSLIB=`dirname $SOLARIS_VXFSINCL`/lib
fi LSOF_TMP3="${SOLARIS_VXFSLIB}${LSOF_TMP2}/libvxfsutil.a"
if test ! -r $LSOF_TMP3 then
echo "!!!FATAL: no VxFS $LSOF_TMP3"
exit 1
fi LSOF_CFGL="-L$SOLARIS_VXFSLIB${LSOF_TMP2} -lvxfsutil -ldl"
nm $LSOF_TMP3 | grep vxfs_inotopath > /dev/null 2>&1
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASVXFSRNL -DHASVXFSDNLC"
fi else
if test -r ${LSOF_INCLUDE}/sys/fs/vx_inode.h then
LSOF_CFGF="$LSOF_CFGF -DHASVXFS"
if test -r ${LSOF_INCLUDE}/sys/fs/vx_fs.h then
LSOF_CFGF="$LSOF_CFGF -DHASVXFS_FS_H"
fi if test -r ${LSOF_INCLUDE}/sys/fs/vx_sol.h then
LSOF_CFGF="$LSOF_CFGF -DHASVXFS_SOL_H"
fi if test -r ${LSOF_INCLUDE}/sys/fs/vx_machdep.h then
LSOF_CFGF="$LSOF_CFGF -DHASVXFS_MACHDEP_H"
fi if test -r ${LSOF_INCLUDE}/sys/fs/vx_solaris.h then
LSOF_CFGF="$LSOF_CFGF -DHASVXFS_SOLARIS_H"
grep "off32_t;" ${LSOF_INCLUDE}/sys/fs/vx_machdep.h > /dev/null
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASVXFS_OFF32_T"
fi grep "off64_t;" ${LSOF_INCLUDE}/sys/fs/vx_solaris.h > /dev/null
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASVXFS_OFF64_T"
fi grep "vx_u64_t;" ${LSOF_INCLUDE}/sys/fs/vx_solaris.h > /dev/null
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASVXFS_U64_T"
fi fi egrep "struct[ ]vx_inode[ ]\{" ${LSOF_INCLUDE}/sys/fs/vx_inode.h > /dev/null
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHASVXFS_VX_INODE"
fi fi fi
LSOF_CFGL="$LSOF_CFGL -lkvm -lelf -lsocket -lnsl"
LSOF_DIALECT_DIR=sun
if test "X$LSOF_LOCALSUFFIX" = "XLOCAL" then
LSOF_DOC="\${DESTDIR}/usr/local/man"
fi ;;
osr6|unixware|uw)
LSOF_TMP1=$LSOF_TGT
LSOF_TGT="uw"
LSOF_RANLIB=""
if test "X$LSOF_VSTR" = "X" then
LSOF_VSTR=`uname -v`
fi if test "X$LSOF_VERS" = "X" then
LSOF_VERS=`echo $LSOF_VSTR | sed 's/\([0-9\.]*\).*/\1/; s/\./ /g' | awk '{printf "%d%02d%02d\n", $1, $2, $3;}'`
fi if test $LSOF_TMP1 = "osr6" then
LSOF_CINFO="OSR6 support via UnixWare sources"
case $LSOF_VERS in 60000)
LSOF_VERS=70104
;;
*)
echo "Unknown OpenServer Release version: $LSOF_VERS"
rm -f $LSOF_HLP
exit 1
esac fi LSOF_CFGF="-DUNIXWAREV=$LSOF_VERS"
case $LSOF_VERS in 20100|20101|20102|20103)
if test -r ${LSOF_INCLUDE}/sys/fs/vx_inode.h then
LSOF_CFGF="$LSOF_CFGF -DHASVXFS"
fi LSOF_CFGL="-lsocket -lnsl -lelf -lgen"
;;
70000|70001|70100|70101|70103|70104)
LSOF_TSTBIGF=" "
LSOF_TSTLFLG="-lsocket -lnsl"
if test $LSOF_VERS -lt 70103 then
LSOF_DINC="$LSOF_DINC -I`pwd`/dialects/uw/uw7"
else
if test -r ${LSOF_INCLUDE}/netinet/in6.h then
LSOF_CFGF="$LSOF_CFGF -DHASIPv6"
fi if test $LSOF_VERS -ge 70104 then
LSOF_TMP1=0
if test -r ${LSOF_INCLUDE}/netinet/in_pcb.h then
grep INKERNEL ${LSOF_INCLUDE}/netinet/in_pcb.h > /dev/null 2>&1
if test $? -eq 0 then
LSOF_TMP1=1
fi fi if test $LSOF_TMP1 -eq 0 -a -r ${LSOF_INCLUDE}/netinet/tcp_var.h then
grep INKERNEL ${LSOF_INCLUDE}/netinet/tcp_var.h > /dev/null 2>&1
if test $? -eq 0 then
LSOF_TMP1=1
fi fi if test $LSOF_TMP1 -eq 1 then
LSOF_CFGF="$LSOF_CFGF -DHAS_INKERNEL"
fi fi fi if test ! -r ${LSOF_INCLUDE}/vm/swap.h -a -r ${LSOF_INCLUDE}/sys/swap.h then
(cd ./dialects/uw/uw7/vm; rm -f swap.h; ln -s ${LSOF_INCLUDE}/sys/swap.h swap.h)
fi if test -r ${LSOF_INCLUDE}/sys/fs/vx_gemini.h then
LSOF_CFGF="$LSOF_CFGF -DHASVXFS"
fi LSOF_CFGL="-lsocket -lnsl -lelf -lgen"
/bin/pkginfo 2> /dev/null | grep -i patch | grep -i ptf7038 > /dev/null
if test -r ${LSOF_INCLUDE}/sys/file.h then
grep f_open ${LSOF_INCLUDE}/sys/file.h > /dev/null
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHAS_F_OPEN"
fi fi if test -r ${LSOF_INCLUDE}/sys/fs/cdfs_fs.h then
grep "cdfs_LogSecShift;" ${LSOF_INCLUDE}/sys/fs/cdfs_fs.h > /dev/null 2>&1
if test $? -eq 0 then
LSOF_TMP=`grep "cdfs_LogSecShift;" ${LSOF_INCLUDE}/sys/fs/cdfs_fs.h | sed 's/^[ ]*\([^ ]*\).*/\1/'`
if test "X$LSOF_TMP" != "X" then
LSOF_CFGF="$LSOF_CFGF -DTYPELOGSECSHIFT=$LSOF_TMP"
fi fi fi if test -r ${LSOF_INCLUDE}/sys/proc.h then
grep p_pgid ${LSOF_INCLUDE}/sys/proc.h > /dev/null
if test $? -eq 0 then
LSOF_CFGF="$LSOF_CFGF -DHAS_P_PGID"
fi fi if test $LSOF_VERS -ge 70101 then
if test "X$UW_HAS_NSC" = "X" then
UW_HAS_NSC=N
if test -x /bin/node_self then
/bin/node_self > /dev/null 2>&1
if test $? -eq 0 then
UW_HAS_NSC=Y
fi fi fi if test "X$UW_HAS_NSC" = "XY" -o "X$UW_HAS_NSC" = "Xy" then
LSOF_CFGF="$LSOF_CFGF -DHAS_UW_NSC"
LSOF_CFGL="$LSOF_CFGL -lcluster"
fi if test -r ${LSOF_INCLUDE}/sys/nsc_synch.h then
LSOF_CFGF="$LSOF_CFGF -DHAS_UW_CFS"
fi fi ;;
*)
echo Unsupported UnixWare version: `uname -v`
rm -f $LSOF_HLP
exit 1
;;
esac if test -r ${LSOF_INCLUDE}/sys/fs/xnamnode.h then
LSOF_CFGF="$LSOF_CFGF -DHASXNAMNODE"
fi LSOF_DIALECT_DIR=uw
;;
*)
echo "Can't configure for $LSOF_TGT."
cat $LSOF_HLP
rm -f $LSOF_HLP
exit 1
;;
esac
if test "X$LSOF_SCRIPT_CALL" = "Xyes" -a ! -r ./.neverInv then
if test ! -f ./Inventory then
echo "Can't find Inventory script."
rm -f $LSOF_HLP
exit 1
fi ./Inventory
fi
if test ! -d ./dialects/$LSOF_DIALECT_DIR then
echo "Can't configure for $LSOF_TGT -- ./dialects/$LSOF_DIALECT_DIR doesn't exist."
rm -f $LSOF_HLP
exit 1
fi
if test ! -r ./dialects/$LSOF_DIALECT_DIR/$LSOF_MK then
echo "Can't configure for $LSOF_TGT -- ./dialects/$LSOF_DIALECT_DIR/$LSOF_MK doesn't exist."
rm -f $LSOF_HLP
exit 1
fi
if test "X$LSOF_SPMKF" != "X" then
LSOF_TMP1=$LSOF_SPMKF
else
LSOF_TMP1=$LSOF_MKF
fi if test "X$LSOF_LOCALSUFFIX" != "X" then
LSOF_REST=$LSOF_TMP1.$LSOF_LOCALSUFFIX
else
LSOF_REST=$LSOF_TMP1
fi if test ! -r ./dialects/$LSOF_DIALECT_DIR/$LSOF_REST then
echo "Can't configure for $LSOF_TGT -- ./dialects/$LSOF_DIALECT_DIR/$LSOF_REST doesn't exist."
rm -f $LSOF_HLP
exit 1
fi
if test ! -r $LSOF_VF then
echo "Version number file, ./$LSOF_VF, doesn't exist."
rm -f $LSOF_HLP
exit 1
else
LSOF_VN=`sed "s/.ds VN \(.*\)/\1/" < version`
fi
rm -f $LSOF_F $LSOF_MKFC $LSOF_TSTCFLG $LSOF_TSTCC $LSOF_TSTXOC $LSOF_TSTLFF
echo "rm -f $LSOF_F $LSOF_MKFC $LSOF_TSTCFLG"
echo "rm -f $LSOF_TSTCC $LSOF_TSTXOC $LSOF_TSTLFF"
if test "X$LSOF_MKC" = "X" then
LSOF_MKC="ln -s"
fi LSOF_MKC=$LSOF_MKC ./dialects/$LSOF_DIALECT_DIR/$LSOF_MK $LSOF_TGT $LSOF_VERS
echo "# $LSOF_TGT Makefile for lsof revision $LSOF_VN" > $LSOF_MKFC
echo "" >> $LSOF_MKFC
if test "X$LSOF_CC" = "X" then
LSOF_CC=cc
fi echo "CC= $LSOF_CC" >> $LSOF_MKFC
if test "X$LSOF_CCV" != "X" then
echo "" >> $LSOF_MKFC
echo "CCV= $LSOF_CCV" >> $LSOF_MKFC
fi if test "X$LSOF_LIB_NO" = "X" then
echo "" >> $LSOF_MKFC
echo "LIB= ${LSOF_LIB}/liblsof.a" >> $LSOF_MKFC
fi if test "X$LSOF_LD" != "X" then
echo "" >> $LSOF_MKFC
echo "LD= $LSOF_LD" >> $LSOF_MKFC
fi if test "X$LSOF_CINFO" != "X" then
echo "" >> $LSOF_MKFC
echo "CINFO= $LSOF_CINFO" >> $LSOF_MKFC
fi if test "X$LSOF_CFGD" != "X" then
echo "CFGD= $LSOF_CFGD" >> $LSOF_MKFC
fi if test "X$LSOF_CFGDN" != "X" then
echo "CFGDN= $LSOF_CFGDN" >> $LSOF_MKFC
fi if test "X$LSOF_ARCH" != "X" then
LSOF_CFGF="$LSOF_CFGF -DLSOF_ARCH=\\\"$LSOF_ARCH\\\""
fi if test "X$LSOF_VSTR" != "X" then
LSOF_TMP=`echo $LSOF_VSTR | sed 's/(/\\\\(/g' | sed 's/)/\\\\)/g'`
LSOF_CFGF="$LSOF_CFGF -DLSOF_VSTR=\\\"$LSOF_TMP\\\""
fi echo "" >> $LSOF_MKFC
echo "CFGF= $LSOF_CFGF" >> $LSOF_MKFC
if test "X$LSOF_LIB_NO" = "X" then
echo "" >> $LSOF_MKFC
echo "CFGL= $LSOF_FCFGL -L./$LSOF_LIB -llsof $LSOF_CFGL" >> $LSOF_MKFC
fi echo "" >> $LSOF_MKFC
if test "X$LSOF_DEBUG" = "X" then
LSOF_DEBUG="-O"
else
if test "X$LSOF_DEBUG" = "XNo-O" then
LSOF_DEBUG=""
fi fi echo "DEBUG= $LSOF_DEBUG" >> $LSOF_MKFC
if test "X$LSOF_DINC" != "X" then
echo "" >> $LSOF_MKFC
echo "DINC= $LSOF_DINC" >> $LSOF_MKFC
fi if test "X$LSOF_DOC" != "X" then
echo "" >> $LSOF_MKFC
echo "DOC=$LSOF_DOC" >> $LSOF_MKFC
fi if test "X$LSOF_DISTRIBKVM" != "X" -a "X$LSOF_DISTRIBKVM" != "XKVM" then
echo "" >> $LSOF_MKFC
echo "KVM= $LSOF_DISTRIBKVM" >> $LSOF_MKFC
fi rm -f ${LSOF_LIB}/$LSOF_LIBMKF
if test "X$LSOF_LIB_NO" = "X" then
cp $LSOF_MKFC ${LSOF_LIB}/$LSOF_LIBMKF
fi cat ./dialects/$LSOF_DIALECT_DIR/$LSOF_REST >> $LSOF_MKFC
if test "X$LSOF_LIB_NO" = "X" then
echo "" >> ${LSOF_LIB}/$LSOF_LIBMKF
if test "X$LSOF_AR" = "X" then
echo "AR= ar cr \${LIB} \${OBJ}" >> ${LSOF_LIB}/$LSOF_LIBMKF
else
echo "AR= $LSOF_AR \${LIB} \${OBJ}" >> ${LSOF_LIB}/$LSOF_LIBMKF
fi if test "X$LSOF_RANLIB" != "X" then
echo "" >> ${LSOF_LIB}/$LSOF_LIBMKF
echo "RANLIB= $LSOF_RANLIB" >> ${LSOF_LIB}/$LSOF_LIBMKF
fi echo "" >> ${LSOF_LIB}/$LSOF_LIBMKF
if test "X$LSOF_CFLAGS_OVERRIDE" = "X" then
echo "CFLAGS= \${CDEFS} \${INCL} \${DEBUG}" >> ${LSOF_LIB}/$LSOF_LIBMKF
else
echo "override CFLAGS=\${CDEFS} \${INCL} \${DEBUG}" >> ${LSOF_LIB}/$LSOF_LIBMKF
fi echo "" >> ${LSOF_LIB}/$LSOF_LIBMKF
cat ${LSOF_LIB}/$LSOF_LIBMKFSKEL >> ${LSOF_LIB}/$LSOF_LIBMKF
echo $LSOF_MKFC and ${LSOF_LIB}/$LSOF_LIBMKF created.
else
echo $LSOF_MKFC created.
fi
echo "$LSOF_CC" > $LSOF_TSTCC
echo "$LSOF_TSTCC created"
echo "-DLT_DIAL_$LSOF_TGT" > $LSOF_TSTCFLG
if test "X$LSOF_TSTBIGF" != "X" then
echo "-DLT_BIGF" >> $LSOF_TSTCFLG
if test "X$LSOF_TSTBIGF" != "X " then
for i in $LSOF_TSTBIGF do
echo "$i" >> $LSOF_TSTCFLG
done fi fi if test "X$LSOF_TSTDFLG" != "X" then
for i in $LSOF_TSTDFLG do
echo "$i" >> $LSOF_TSTCFLG
done fi echo $LSOF_CC | grep gcc > /dev/null 2>&1
if test $? -eq 0 then
echo "-DLT_GCC" >> $LSOF_TSTCFLG
else
echo "-DLT_CC" >> $LSOF_TSTCFLG
fi if test $LSOF_TSTKMEM -eq 1 then
echo "-DLT_KMEM" >> $LSOF_TSTCFLG
fi if test $LSOF_TSTK64 -eq 1 then
echo "-DLT_K64" >> $LSOF_TSTCFLG
fi echo "-DLT_VERS=$LSOF_VERS" >> $LSOF_TSTCFLG
if test $LSOF_TSTVPATH -eq 1 then
echo "-DLT_VPATH" >> $LSOF_TSTCFLG
fi echo "$LSOF_TSTCFLG created"
echo $LSOF_TSTLFLG > $LSOF_TSTLFF
echo "$LSOF_TSTLFF created"
echo "$LSOF_TSTXO" > $LSOF_TSTXOC
echo "$LSOF_TSTXOC created"
rm -f $LSOF_HLP
if test "X$LSOF_SCRIPT_CALL" = "Xyes" -a ! -r ./.neverCust then
if test ! -f ./Customize then
echo "Can't find Customize script."
exit 1
fi ./Customize $LSOF_DIALECT_DIR
fi exit 0