aboutsummaryrefslogtreecommitdiff
path: root/Configure
diff options
context:
space:
mode:
Diffstat (limited to 'Configure')
-rwxr-xr-xConfigure565
1 files changed, 0 insertions, 565 deletions
diff --git a/Configure b/Configure
deleted file mode 100755
index e760044043dd..000000000000
--- a/Configure
+++ /dev/null
@@ -1,565 +0,0 @@
-#!/bin/csh -f
-#
-# Configuration script for top.
-#
-# Use with version 3.0 and higher.
-#
-set PRIME = "/usr/games/primes"
-set vars = (module LoadMax topn NominalTopn delay owner group mode random \
- TableSize bindir mandir manext mansty \
- Cmdshell Cmdcc Cmdawk Cmdinstall cdefs)
-set fastrack = 0
-set yesno = (no yes)
-
-onintr byebye
-
-# make sure that getans is there and ready
-if (! -e getans) then
- echo 'This package is not complete. The shell file "getans" is missing.'
- exit 10
-endif
-chmod +x getans
-
-if ($#argv > 0) then
-# fast track configuration
- set fastrack = 1
-else
-cat <<'EOF'
-Configuration for top, version 3.5
-
-One moment....
-'EOF'
-endif
-
-# collect file names and module names
-ls machine/m_*.c >$$.f
-ls machine/m_*.man >$$.m
-sed -e 's@^machine/m_@@' -e 's/.c$//' $$.f >$$.n
-
-# build Make.desc
-sed -e 's@\.c@.desc\\@' $$.f | sed -e '$s/\\//' >$$.a
-sed -e "/^DESCS/r $$.a" Make.desc.X >Make.desc
-
-# build desc files and SYNOPSIS as needed
-make -f Make.desc >/dev/null
-if ($status != 0) then
- echo "Unable to build the synopsis."
- echo 'Make sure the command "make" is on your path and try'
- echo 'running Configure again.'
- exit 1
-endif
-
-if (-e .defaults) then
- echo ""
- echo "Reading configuration from last time..."
- source .defaults
- set nodefaults = 0
- if ($fastrack == 1) then
- set module = $1
- endif
-else
- if ($fastrack == 1) then
- echo "No previous configuration was found."
- set fastrack = 0
- set module = $1
- else
- set module = ""
- endif
- set LoadMax = 5.0
- set topn = 15
- set NominalTopn = 18
- set delay = 5
- set TableSize = 0
- set bindir = /usr/local/bin
- set mandir = /usr/man/manl
- set manext = l
- set mansty = man
- set nodefaults = 1
- set Cmdshell = /bin/sh
- set Cmdawk = awk
- set Cmdinstall = ./install
- set Cmdcc = cc
- set cdefs = -O
-endif
-echo ""
-
-if ($fastrack == 1) then
- grep -s $module $$.n >/dev/null
- if ($status != 0) then
- echo "$module is not recognized. To see a list of available modules"
- echo 'run "Configure" with no arguments.'
- rm -f $$.[fmna]
- exit 1
- endif
- set random1 = `expr $random + 1`
- cat <<EOF
-Using these settings:
- Bourne Shell $Cmdshell
- C compiler $Cmdcc
- Compiler options $cdefs
- Awk command $Cmdawk
- Install command $Cmdinstall
-
- Module $module
- LoadMax $LoadMax
- Default TOPN $topn
- Nominal TOPN $NominalTopn
- Default Delay $delay
-Random passwd access $yesno[$random1]
- Table Size $TableSize
- Owner $owner
- Group Owner $group
- Mode $mode
- bin directory $bindir
- man directory $mandir
- man extension $manext
- man style $mansty
-
-EOF
- goto fast
-endif
-
-cat <<'EOF'
-You will be asked a series of questions. Each question will have a
-default answer enclosed in brackets, such as "[5.0]". In most cases,
-the default answer will work well. To use that value, merely press
-return.
-
-'EOF'
-
-# display synopses
-
-getmod:
-cat <<'EOF'
-
-The following machine-dependent modules are available:
-'EOF'
-awk -F: ' { printf "%-10s %s\n", $1, $2 }' SYNOPSIS
-echo ''
-./getans "What module is appropriate for this machine? " string "$module" .$$
-set module = `cat .$$`
-
-if ("$module" == "") then
- echo "Please specify a valid module name."
- goto getmod
-endif
-
-# is it a valid one?
-grep -s "$module" $$.n >/dev/null
-if ($status != 0) then
- echo "That is not a recognized module name."
- goto getmod
-endif
-
-# display a full description
-sed -e '1,/DESCRIPTION:/d' -e '/^$/,$d' machine/m_${module}.desc
-
-# verify it
-echo ""
-./getans "Is this what you want to use?" yesno 1 .$$
-if (`cat .$$` == 0) then
- goto getmod
-endif
-endif
-
-cat <<'EOF'
-
-First we need to find out a little bit about the executables needed to
-compile top.
-
-'EOF'
-./getans "What is the full path name for the Bourne shell" file "$Cmdshell" .$$
-set Cmdshell = `cat .$$`
-
-cat <<'EOF'
-
-Please supply the name of the appropriate command. It need not be a
-full path name, but the named command does need to exist somewhere on
-the current path.
-
-'EOF'
-./getans "AWK Interpreter" path "$Cmdawk" .$$
-set Cmdawk = `cat .$$`
-./getans "C Compiler" path "$Cmdcc" .$$
-set Cmdcc = `cat .$$`
-
-cat <<'EOF'
-
-The installer command needs to understand Berkeley-esque arguments:
-"-o" for owner, "-g" for group, and "-m" for mode. A shell script
-called "install" is distributed with top and is suitable for use by
-top. You can specify a different program here if you like, or use
-the shell script (the default).
-
-'EOF'
-./getans "Installer" path "$Cmdinstall" .$$
-set Cmdinstall = `cat .$$`
-
-cat <<EOF
-
-What other options should be used with the $Cmdcc command (use "none" to
-specify no options)?
-EOF
-./getans "Compiler options" string "$cdefs" .$$
-set cdefs = `cat .$$`
-if ("$cdefs" == "none") then
- set cdefs = ""
-endif
-
-cat <<'EOF'
-
-Now you need to answer some questions concerning the configuration of
-top itself.
-
-The space command forces an immediate update. Sometimes, on loaded
-systems, this update will take a significant period of time (because all
-the output is buffered). So, if the short-term load average is above
-"LoadMax", then top will put the cursor home immediately after the space
-is pressed before the next update is attempted. This serves as a visual
-acknowledgement of the command. "LoadMax" should always be specified as a
-floating point number.
-
-'EOF'
-./getans "LoadMax" number "$LoadMax" .$$
-set LoadMax = `cat .$$`
-
-cat <<'EOF'
-
-"Default TOPN" is the default number of processes to show. This is the
-number that will be used when the user does not specify the number of
-processes to show. If you want "all" (or infinity) as the default, use
-the value "-1".
-
-'EOF'
-
-./getans "Default TOPN" neginteger "$topn" .$$
-set topn = `cat .$$`
-
-cat <<'EOF'
-
-"Nominal_TOPN" is used as the default TOPN when Default_TOPN is Infinity
-and the output is a dumb terminal. If we didn't do this, then
-installations who use a default TOPN of Infinity will get every process in
-the system when running top on a dumb terminal (or redirected to a file).
-Note that Nominal_TOPN is a default: it can still be overridden on the
-command line, even with the value "infinity".
-
-'EOF'
-
-./getans "Nominal TOPN" integer "$NominalTopn" .$$
-set NominalTopn = `cat .$$`
-
-cat <<'EOF'
-
-Default Delay is the default number of seconds to wait between screen
-updates.
-
-'EOF'
-
-./getans "Default Delay" integer "$delay" .$$
-set delay = `cat .$$`
-
-echo ""
-
-set rand = 0
-if (-e /etc/nsswitch.conf) then
- set rand = `grep '^passwd:.*nis' /etc/nsswitch.conf | wc -l`
- if ($rand > 1) then
- set rand = 1
- endif
-else
- ypwhich >&/dev/null
- if ($status == 0 || -e /etc/passwd.dir || -e /etc/pwd.db) then
- set rand = 1
- endif
-endif
-
-if ($rand == 1) then
- echo "It looks like you have a passwd file that can be accessed at random."
- set pr = 'Do you want top to take advantage of this'
-else
- echo "It looks like you have conventional passwd file access. Top can take"
- echo "advantage of a random access passwd mechanism if such exists. Do"
- echo "you want top to assume that accesses to the file /etc/passwd are done"
- set pr = 'with random access rather than sequential'
-endif
-
-if ($nodefaults == 1) then
- set random = $rand
-endif
-
-./getans "${pr}?" yesno $random .$$
-set random = `cat .$$`
-
-echo ""
-echo "Compiling prime.c"
-$Cmdcc $cdefs -o prime prime.c -lm
-if ($status != 0) then
- echo "Oh well."
- rm -f prime
-endif
-
-echo ""
-
-ypcat passwd.byname >&/tmp/$$.a
-if ($status == 0) then
- set cnt = `wc -l </tmp/$$.a`
- set mapfile = "NIS map"
-else
- rm /tmp/$$.a
- niscat passwd.org_dir >&/tmp/$$.a
- if ($status == 0) then
- set cnt = `wc -l </tmp/$$.a`
- set mapfile = "NISPLUS map"
- else
- set cnt = `wc -l </etc/passwd`
- set mapfile = "file"
- endif
-endif
-rm /tmp/$$.a
-set double = `expr $cnt \* 2`
-echo "I found $cnt entries in your passwd $mapfile. Top hashes the username to"
-echo "uid mappings as it goes along and it needs a good guess on the size of"
-echo "that hash table. This number should be the next highest prime number"
-echo "after $double."
-echo ""
-if (-e prime) then
- set pr = `./prime $double`
- echo "I have calculated that to be $pr."
-else if (-e $PRIME) then
- set pr = `$PRIME $double | head -1`
- echo "I have calculated that to be $pr."
-else
- set pr = $double
- echo "I cannot calculate that prime number, so you will need to provide it for me."
-endif
-
-if ($TableSize == 0) then
- set TableSize = $pr
-endif
-
-./getans "Enter the hash table size" integer "$TableSize" .$$
-set TableSize = `cat .$$`
-
-echo ""
-
-# !!! I need to fix this: /dev/kmem might not exist on some machines !!!
-
-# determine the right way to invoke ls to get full output
-set ls = "ls -l"
-if (`$ls getans | wc -w` < 9) then
- set ls = "ls -lg"
-endif
-
-set t_owner = root
-set t_group = `$ls -d /usr/bin | awk ' { print $4 }'`
-if (-e /proc) then
- cat <<EOF
-I see /proc out there. Many Unix variants provide the /proc file
-system as a mechanism to get to a process's address space. This
-directory is typically only accessible by root. However, there are a
-few systems (such as DG/UX) on which this directory exists, but isn't
-used.
-
-EOF
- if (-r /proc/0/psinfo) then
- set t_mode = 2711
- set mode = 2711
- set t_group = sys
- set group = sys
- cat <<EOF
-It looks like this system is running Solaris 2.6 or greater. If this
-is the case, then top can function just fine installed set group id to
-sys. It does not need to be installed set-uid to root.
-
-EOF
- else
- set t_mode = 4711
- set mode = 4711
- cat <<EOF
-I'm going to assume that top needs to run setuid to root, but you
-should double check and use mode 2755 (set group id) if top doesn't
-really need root access. If you are running SunOS 5.0 through SunOS
-5.5.1 (that's Solaris 2.0 through Solaris 2.5.1) then you will need to
-install top setuid root (owner root and mode 4711). In SunOS 5.6
-and higher top only requires set group id sys permissions.
-
-EOF
- endif
-else if (-e /dev/kmem) then
- $ls /dev/kmem >/tmp/$$.b
- grep '^....r..r..' /tmp/$$.b >&/dev/null
- if ($status == 1) then
- grep '^....r..-..' /tmp/$$.b >&/dev/null
- if ($status == 0) then
- set t_group = `awk ' { print $4 }' /tmp/$$.b`
- set t_mode = 2755
- echo "It looks like only group $t_group can read the memory devices."
- else
- set t_mode = 4755
- echo "It looks like only root can read the memory devices."
- endif
- else
- set t_mode = 755
- echo "It looks like anybody can read the memory devices."
- endif
-else
- echo "It looks like there are no memory device special files."
- set t_mode = 755
-endif
-if ($nodefaults) then
- set owner = $t_owner
- set group = $t_group
- set mode = $t_mode
-endif
-echo "Tell me how to set the following when top is installed:"
-./getans "Owner" user "$owner" .$$
-set owner = `cat .$$`
-./getans "Group owner" group "$group" .$$
-set group = `cat .$$`
-./getans "Mode" integer "$mode" .$$
-set mode = `cat .$$`
-rm -f /tmp/$$.b
-
-echo ""
-./getans "Install the executable in this directory" file "$bindir" .$$
-set bindir = `cat .$$`
-
-echo ""
-./getans "Install the manual page in this directory" file "$mandir" .$$
-set mandir = `cat .$$`
-
-echo ""
-./getans "Install the manual page with this extension" string "$manext" .$$
-set manext = `cat .$$`
-
-echo ""
-./getans "Install the manual page as 'man' or 'catman'" string "$mansty" .$$
-set mansty = `cat .$$`
-
-echo ""
-echo "We are done with the questions."
-
-# Some Unix environments are so poor that their csh doesn't even support
-# the "eval" builtin. Check for this before relying on its use to save
-# the current configuration.
-/bin/csh -fc "eval echo foo" >&/dev/null
-if ($status == 1) then
- echo "Can't save configuration (nonfatal)"
-else
- echo "Saving configuration..."
-# save settings to use as defaults the next time
- rm -f .defaults
- touch .defaults
- foreach v ($vars)
- set tmp = `eval echo \$$v`
- echo set $v = "'$tmp'" >>.defaults
- end
-endif
-
-fast:
-
-# clean up
-rm -f $$.[fmna]
-
-# set the link for machine.c
-rm -f machine.c machine.o
-ln -s machine/m_${module}.c machine.c
-
-# get definitions out of the module file
-set libs = `grep LIBS: machine/m_${module}.desc | sed -e 's/^.[^:]*: *//'`
-set cflgs = `grep CFLAGS: machine/m_${module}.desc | sed -e 's/^.[^:]*: *//'`
-set tcap = `grep TERMCAP: machine/m_${module}.desc | sed -e 's/^.[^:]*: *//'`
-set math = `grep MATH: machine/m_${module}.desc | sed -e 's/^.[^:]*: *//'`
-
-# get osrev defition, if we can
-set uname=""
-if (-e /usr/bin/uname) then
- set uname=/usr/bin/uname
-else if (-e /bin/uname) then
- set uname=/bin/uname
-endif
-
-if ("$uname" != "") then
-# different versions of tr can't agree on the way to specify ranges, so
-# we will have to give the range explicitly.....sigh.
- set osrev="-DOSREV=`$uname -r | tr -cd ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789`"
-else
- set osrev=""
-endif
-
-# default for tcap (termcap)
-if ("$tcap" == "") then
- set tcap="-ltermcap"
-else if ("$tcap" == "none") then
- set tcap=""
-endif
-
-# allow for the module to override or remove -lm
-if ("$math" == "") then
- set math="-lm"
-else if ("$math" == "none") then
- set math=""
-endif
-
-if ( { grep -s SIGKILL /usr/include/signal.h } ) then
- set signal="/usr/include/signal.h"
-else
- set signal="/usr/include/sys/signal.h"
-endif
-
-
-echo "Building Makefile..."
-sed -e "s|%topn%|$topn|" \
- -e "s|%delay%|$delay|" \
- -e "s|%owner%|$owner|" \
- -e "s|%group%|$group|" \
- -e "s|%mode%|$mode|" \
- -e "s|%bindir%|$bindir|" \
- -e "s|%mandir%|$mandir|" \
- -e "s|%manext%|$manext|" \
- -e "s|%mansty%|$mansty|" \
- -e "s|%tablesize%|$TableSize|" \
- -e "s|%libs%|$libs|" \
- -e "s|%cflgs%|$cflgs|" \
- -e "s|%termcap%|$tcap|" \
- -e "s|%math%|$math|" \
- -e "s|%cdefs%|$cdefs|" \
- -e "s|%signal%|$signal|" \
- -e "s|%cc%|$Cmdcc|" \
- -e "s|%awk%|$Cmdawk|" \
- -e "s|%install%|$Cmdinstall|" \
- -e "s|%shell%|$Cmdshell|" \
- -e "s|%osrev%|$osrev|" \
- Makefile.X >Makefile
-
-echo "Building top.local.h..."
-sed -e "s|%LoadMax%|$LoadMax|" \
- -e "s|%TableSize%|$TableSize|" \
- -e "s|%NominalTopn%|$NominalTopn|" \
- -e "s|%topn%|$topn|" \
- -e "s|%delay%|$delay|" \
- -e "s|%random%|$random|" \
- top.local.H >top.local.h
-
-echo "Building top.1..."
-sed -e "s|%topn%|$topn|" \
- -e "s|%delay%|$delay|" \
- top.X >top.1
-if (-e machine/m_${module}.man ) then
- cat machine/m_${module}.man >>top.1
-endif
-
-# clean up
-rm -f .$$
-
-echo 'Doing a "make clean".'
-make clean
-
-echo 'To create the executable, type "make".'
-echo 'To install the executable, type "make install".'
-exit 0
-
-byebye:
-rm -f .$$ $$.[fmna] /tmp/$$.[ab]
-exit 1