summaryrefslogtreecommitdiff
path: root/U/Oldconfig.U
diff options
context:
space:
mode:
Diffstat (limited to 'U/Oldconfig.U')
-rw-r--r--U/Oldconfig.U223
1 files changed, 154 insertions, 69 deletions
diff --git a/U/Oldconfig.U b/U/Oldconfig.U
index 18c2a811b0..2b6d3a0157 100644
--- a/U/Oldconfig.U
+++ b/U/Oldconfig.U
@@ -1,12 +1,3 @@
-?X: These units are based on the ones supplied with dist-3.0
-?X: patchlevel 22. They have been changed or enhanced to work with
-?X: perl5alpha. I would appreciate hearing about any changes,
-?X: corrections, or enhancements.
-?X: Andy Dougherty doughera@lafcol.lafayette.edu
-?X: Dept. of Physics
-?X: Lafayette College
-?X: Easton, PA 18042-1782
-?X: Sat Apr 2 15:45:17 EST 1994
?RCS: $Id: Oldconfig.U,v 3.0.1.2 1994/01/24 14:05:02 ram Exp $
?RCS:
?RCS: Copyright (c) 1991-1993, Raphael Manfredi
@@ -34,8 +25,8 @@
?X: This unit tries to remember what we did last time we ran Configure, mostly
?X: for the sake of setting defaults.
?X:
-?MAKE:Oldconfig hint myuname: Instruct Myread uname sed test cat rm n c \
- contains Loc Options
+?MAKE:Oldconfig hint myuname osname osvers: Instruct Myread uname \
+ sed test cat rm n c contains Loc Options
?MAKE: -pick wipe $@ %<
?S:myuname:
?S: The output of 'uname -a' if available, otherwise the hostname. On Xenix,
@@ -46,7 +37,18 @@
?S: Gives the type of hints used for previous answers. May be one of
?S: "default", "recommended" or "previous".
?S:.
-?T:tmp file oldmyuname tans _
+?S:osname:
+?S: This variable contains the operating system name (e.g. sunos,
+?S: solaris, hpux, etc.). It can be useful later on for setting
+?S: defaults. It is set to '' if we can't figure it out.
+?S:.
+?S:osvers:
+?S: This variable contains the operating system version (e.g.
+?S: 4.1.3, 5.2, etc.). It is primarily used for helping select
+?S: an appropriate hints file, but might be useful elsewhere for
+?S: setting defaults. It is set to '' if we can't figure it out.
+?S:.
+?T:tmp file oldmyuname hintfile tans _
?LINT:change n c
: Try to determine whether config.sh was made on this system
case "$config_sh" in
@@ -112,13 +114,13 @@ EOM
: Half the following guesses are probably wrong... If you have better
: tests or hints, please send them to <MAINTLOC>
: The metaconfig authors would also appreciate a copy...
- $test -f /irix && dflt="$dflt sgi"
- $test -f /xenix && dflt="$dflt sco_xenix"
- $test -f /dynix && dflt="$dflt dynix"
- $test -f /dnix && dflt="$dflt dnix"
- $test -f /bin/mips && /bin/mips && dflt="$dflt mips"
- $test -d /NextApps && test -f /usr/adm/software_version && dflt="$dflt next"
- $test -d /usr/include/minix && dflt="$dflt minix"
+ $test -f /irix && osname=sgi
+ $test -f /xenix && osname=sco_xenix
+ $test -f /dynix && osname=dynix
+ $test -f /dnix && osname=dnix
+ $test -f /bin/mips && /bin/mips && osname=mips
+ $test -d /NextApps && test -f /usr/adm/software_version && osname=next
+ $test -d /usr/include/minix && osname=minix
?X: If we have uname, we already computed a suitable uname -a output, correctly
?X: formatted for Xenix, and it lies in $myuname.
if $test -f $uname; then
@@ -128,63 +130,80 @@ EOM
$test -f $5.sh && dflt="$dflt $5"
case "$5" in
- fps*) dflt="$dflt fps";;
+ fps*) osname=fps ;;
mips*)
case "$4" in
- umips) dflt="$dflt umips";;
- *) dflt="$dflt mips";;
+ umips) osname=umips ;;
+ *) osname=mips ;;
esac;;
- [23]100) dflt="$dflt mips";;
- next*) dflt="$dflt next" ;;
- news*) dflt="$dflt news" ;;
+ [23]100) osname=mips ;;
+ next*) osname=next ;;
+ news*) osname=news ;;
i386*) if $test -f /etc/kconfig; then
+ osname=isc
if $contains _SYSV3 /usr/include/stdio.h > /dev/null 2>&1 ; then
- dflt="$dflt isc_3_2_3"
+ osvers=3.2.3
elif $contains _POSIX_SOURCE /usr/include/stdio.h > /dev/null 2>&1 ; then
- dflt="$dflt isc_3_2_2"
+ osvers=3.2.2
fi
- : i386.sh hint is wrong for Interactive.
- dflt=`echo $dflt | $sed 's/i386//'`
fi
;;
esac
case "$1" in
- aix) dflt="$dflt aix_rs" ;;
- sun[Oo][Ss]) case "$3" in
- [34]*) vers=`echo $3 | $sed 's/\./_/g'`
- dflt="$dflt sunos_$vers" ;;
- 5*) vers=`echo $3 | $sed 's/^5/2/g'`
- dflt="$dflt solaris_$vers" ;;
+ aix) osname=aix_rs ;;
+ sunos) osname=sunos
+ case "$3" in
+ [34]*) osvers=$3 ;;
+ 5*) osname=solaris
+ osvers=`echo $3 | $sed 's/^5/2/g'` ;;
+ esac
+ ;;
+ solaris) osname=solaris
+ case "$3" in
+ 5*) osvers=`echo $3 | $sed 's/^5/2/g'` ;;
esac
;;
- [sS]olaris) case "$3" in
- 5*) vers=`echo $3 | $sed 's/^5/2/g'`
- dflt="$dflt solaris_$vers" ;;
+ dnix) osname=dnix ;;
+ dgux) osname=dgux ;;
+ genix) osname=genix ;;
+ hp*ux) osname=hpux ;;
+ next) osname=next ;;
+ irix) osname=sgi ;;
+ ultrix) osname=ultrix
+ case "$3" in
+ 1*) osvers=1 ;;
+ 2*) osvers=2 ;;
+ 3*) osvers=3 ;;
+ 4*) osvers=4 ;;
esac
;;
- dnix) dflt="$dflt dnix" ;;
- dgux) dflt="$dflt dgux" ;;
- genix) dflt="$dflt genix" ;;
- hp*ux) dflt="$dflt hpux" ;;
- next) dflt="$dflt next" ;;
- irix) dflt="$dflt sgi" ;;
- ultrix) case "$3" in
- 3*) dflt="$dflt ultrix_3" ;;
- 4*) dflt="$dflt ultrix_4" ;;
+ osf1) case "$5" in
+ alpha) osname=dec_osf
+ case "$3" in
+ [vt]1\.*) osvers=1 ;;
+ [vt]2\.*) osvers=2 ;;
+ [vt]3\.*) osvers=3 ;;
+ esac
+ ;;
+ hp*) osname=hp_osf1 ;; # TR
+ mips) osname=mips_osf1 ;; # TR
+ # TR = Technology Releases: (un^N)supported
esac
;;
- uts) dflt="$dflt uts" ;;
- $2) case "$dflt" in
+ uts) osname=uts ;;
+ $2) case "$osname" in
*isc*) ;;
*) if test -f /etc/systemid; then
+ osname=sco
+ : Does anyone know if these next gyrations are needed
set `echo $3 | $sed 's/\./ /g'` $4
if $test -f sco_$1_$2_$3.sh; then
- dflt="$dflt sco_$1_$2_$3"
+ osvers=$1.$2.$3
elif $test -f sco_$1_$2.sh; then
- dflt="$dflt sco_$1_$2"
+ osvers=$1.$2
elif $test -f sco_$1.sh; then
- dflt="$dflt sco_$1"
+ osvers=$1
fi
fi
;;
@@ -196,25 +215,31 @@ EOM
if test -f /vmunix -a -f news_os.sh; then
(what /vmunix | tr '[A-Z]' '[a-z]') > ../UU/kernel.what 2>&1
if $contains news-os ../UU/kernel.what >/dev/null 2>&1; then
- dflt="$dflt news_os"
+ osname=news_os
fi
$rm -f ../UU/kernel.what
fi
fi
- set X `echo $dflt | tr ' ' '\012' | sort | uniq`
- shift
- dflt=''
- for file in $*; do
- if $test -f "$file.sh"; then
- dflt="$dflt $file"
- fi
- done
- set X $dflt
- shift
- dflt=${1+"$@"}
- case "$dflt" in
- '') dflt=none;;
+
+ : Now look for a hint file osname_osvers
+ file=`echo "${osname}_${osvers}" | sed -e 's@\.@_@g' -e 's@_$@@'`
+ case "$file" in
+ '') dflt=none ;;
+ *) case "$osvers" in
+ '') dflt=$file
+ ;;
+ *) if $test -f $file.sh ; then
+ dflt=$file
+ elif $test -f "${osname}.sh" ; then
+ dflt="${osname}"
+ else
+ dflt=none
+ fi
+ ;;
+ esac
+ ;;
esac
+
$cat <<EOM
You may give one or more space-separated answers, or "none" if appropriate.
@@ -223,17 +248,40 @@ If your OS version has no hints, DO NOT give a wrong version -- say "none".
EOM
rp="Which of these apply, if any?"
. ../UU/myread
- for file in $ans; do
+ tans=$ans
+ for file in $tans; do
if $test -f $file.sh; then
. ./$file.sh
$cat $file.sh >> ../UU/config.sh
- elif $test X$ans = X -o X$ans = Xnone ; then
+ elif $test X$tans = X -o X$tans = Xnone ; then
: nothing
else
- echo "$file.sh does not exist -- ignored"
+ : Give one chance to correct a possible typo.
+ echo "$file.sh does not exist"
+ dflt=$file
+ rp="hint to use instead?"
+ . ../UU/myread
+ for file in $ans; do
+ if $test -f "$file.sh"; then
+ . ./$file.sh
+ $cat $file.sh >> ../UU/config.sh
+ elif $test X$ans = X -o X$ans = Xnone ; then
+ : nothing
+ else
+ echo "$file.sh does not exist -- ignored."
+ fi
+ done
fi
done
+
hint=recommended
+ : Remember our hint file for later.
+ if $test -f "$file.sh" ; then
+ hintfile="$file.sh"
+ else
+ hintfile=none
+ fi
+
cd ..
fi
cd UU
@@ -282,3 +330,40 @@ for file in $loclist $trylist; do
eval $file="\$_$file"
done
+cat << EOM
+Configure uses the operating system name and version to set some defaults.
+Say "none" to leave it blank.
+EOM
+
+case "$osname" in
+ ''|' ')
+ case "$hintfile" in
+ none) dflt=none ;;
+ *) dflt=`echo $hintfile | sed -e 's/\.sh$//' -e 's/_.*$//'` ;;
+ esac
+ ;;
+ *) dflt="$osname" ;;
+esac
+rp="Operating system name?"
+. ./myread
+case "$ans" in
+ none) osname='' ;;
+ *) osname="$ans" ;;
+esac
+
+case "$osvers" in
+ ''|' ')
+ case "$hintfile" in
+ none) dflt=none ;;
+ *) dflt=`echo $hintfile | sed -e 's/\.sh$//' -e 's/^[^_]*//'`
+ dflt=`echo $dflt | sed -e 's/^_//' -e 's/_/./g'` ;;
+ esac
+ ;;
+ *) dflt="$osvers" ;;
+esac
+rp="Operating system version?"
+. ./myread
+case "$ans" in
+ none) osvers='' ;;
+ *) osvers="$ans" ;;
+esac