123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 |
- case $0 in
- */first)
- FDIR=`expr $0 : '\(.*\)/first'`
- ;;
- first) FDIR=.
- ;;
- esac
- echo check write-ability of /tmp and /usr/tmp ...
- if ( >/usr/tmp/aaax.$$ )
- then
- rm /usr/tmp/aaax.$$
- else
- echo /usr/tmp must exist and be writable.
- exit 2
- fi
- if ( >/tmp/aaax.$$ )
- then
- rm /tmp/aaax.$$
- else
- echo /tmp must exist and be writable.
- exit 2
- fi
- echo "/tmp and /usr/tmp ok"
- if [ -f echo ]
- then :
- else
- echo compile own echo program, so that we know how it works ...
- if cc -o echo $FDIR/myecho.c > /dev/null 2>&1
- then
- echo compilation succeeded
- else
- echo "Sorry, cc does not seem to work"
- exit 8
- fi
- fi
- if [ -f macros ]
- then
- . macros
- fi
- : "Now get system name and directories"
- . $FDIR/get_sys
- : "Take action according to the system used"
- BM=1
- OLDACM=$ACM
- OLDSYS=$SYS
- case $SYSNAME in
- vax_bsd4_1a) ACM=vax4 ; SYS=BSD4_1 ; BYTE_ORDER=0123 ;;
- vax_bsd4_2) ACM=vax4 ; SYS=BSD4_2 ; BYTE_ORDER=0123 ;;
- vax_sysV_2) ACM=vax4 ; SYS=SYS_5 ; BYTE_ORDER=0123 ;;
- i386) ACM=i386 ; SYS=SYS_5 ; BYTE_ORDER=0123 ;;
- sun3) ACM=sun3 ; SYS=BSD4_2; BYTE_ORDER=3210 ;;
- sun2) ACM=sun2 ; SYS=BSD4_2; BYTE_ORDER=3210 ;;
- m68_unisoft|m68k2) ACM=m68k2 ; SYS=V7; BYTE_ORDER=3210 ;;
- m68_sysV_0|mantra) ACM=mantra ; SYS=SYS_5; BYTE_ORDER=3210 ;;
- m68020) ACM=m68020 ; SYS=SYS_5; BYTE_ORDER=3210 ;;
- sparc) ACM=sparc ; SYS=BSD4_2; BYTE_ORDER=3210 ;;
- i86) ACM=i86 ; SYS=SYS_5; BYTE_ORDER=0123 ;;
- xenix3) ACM=xenix3 ; SYS=SYS_5; BYTE_ORDER=0123 ;;
- minix) ACM=minix ; SYS=V7; BYTE_ORDER=0123 ;;
- pmds) ACM=pmds ; SYS=V7; BYTE_ORDER=3210 ;;
- pmds4) ACM=pmds4 ; SYS=V7; BYTE_ORDER=3210 ;;
- minixST) ACM=minixST ; SYS=V7; BYTE_ORDER=3210 ;;
- m68k4) ACM=m68k4 ; SYS=V7; BYTE_ORDER=3210 ;;
- *) ACM=XXX ; SYS=XXX ; BYTE_ORDER=XXX ;;
- esac
- : do not change the order in MACH_LIST. check limit_enquire first.
- MACH_LIST="i86 xenix3 minix i386 6500 6800 6805 6809 i80 em22 em24 em44 m68k2 pmds minixST m68k4 pmds4 sun2 mantra m68020 sun3 sparc ns pdp s2650 vax4 z80 z8000 arm"
- while :
- do
- for i in $MACH_LIST
- do
- if [ $i = $ACM ]
- then break
- fi
- done
- if [ $i = $ACM ]
- then break
- fi
- echo "This installation script has no knowledge about $SYSNAME.
- You will have to specify the default machine that you want ACK to
- compile for. Choices:"
- l=
- x=
- for i in $MACH_LIST
- do
- l="$l $i"
- x=x$x
- case $x in
- xxxxxxxxxx) echo $l
- x=
- l=
- ;;
- esac
- done
- ACM=$OLDACM
- echo $l
- ./echo -n "Your choice: [$OLDACM] "
- . $FDIR/get_answer
- case $ANS in
- '') ANS="$ACM";;
- esac
- ACM="$ANS"
- done
- while :
- do
- case $SYS in
- V7|BSD4_1|BSD4_2|SYS_5)
- break
- ;;
- *)
- SYS=$OLDSYS
- echo 'What kind of Unix is the target system running?
- Choices:
- V7 for Unix V7, BSD 2.*
- BSD4_1 for Berkeley 4.1
- BSD4_2 for Berkeley 4.2, 4.3, SunOS
- SYS_5 for Xenix, System III, System V'
- ./echo -n "Your choice (V7|BSD4_1|BSD4_2|SYS_5): [$OLDSYS] "
- . $FDIR/get_answer
- case $ANS in
- '') ANS="$SYS";;
- esac
- SYS="$ANS"
- ;;
- esac
- done
- rm -f local.h
- sed -e /ACKM/s/'".*"'/'"'$ACM'"'/ -e /BIGMACH/s/'[01]'/$BM/ -e /SYSTEM/s/'^#[ ]*define[ ]*[a-zA-Z_][a-zA-Z0-9_]*'/"# define $SYS"/ < $FDIR/local.h.src >local.h
- case $BYTE_ORDER in
- XXX) ;;
- *) echo '/* Optional definition of BYTE_ORDER: */' >> local.h
- echo "#define BYTE_ORDER 0x$BYTE_ORDER" >> local.h
- ;;
- esac
- echo "Your default machine to compile for is $ACM"
- DISABLE_LANG=
- echo "Installation of the complete ACK takes a long time. Limiting the
- number of languages, runtime libraries, back-ends, and assemblers to be
- installed may save a lot of time. If you want to install everything,
- answer no to the next question. Otherwise, answer yes, and you will be
- prompted for details"
- while :
- do
- ./echo -n "Do you want to limit the installation in any way? (y/n) [$LIMIT] "
- . $FDIR/get_answer
- case $ANS in
- '') ANS="$LIMIT";;
- esac
- case X$ANS in
- Xj*|Xy*)
- LIMIT=y
- . $FDIR/limit_enquire
- break
- ;;
- Xn*) . $FDIR/get_sysvax
- LIMIT=n
- DO_MACHINE_INDEP=y
- break
- ;;
- *) echo "I do not understand your answer ($ANS). Try again."
- ;;
- esac
- done
- . $FDIR/get_makepars
- echo TARGET_HOME=\"$TARGET_HOME\" > macros
- echo UTIL_HOME=\"$UTIL_HOME\" >> macros
- echo SRC_HOME=\"$SRC_HOME\" >> macros
- echo SYSNAME=\"$SYSNAME\" >> macros
- echo ACM=\"$ACM\" >> macros
- echo CURRENT=\"$CURRENT\" >> macros
- echo SYS=\"$SYS\" >> macros
- echo LIMIT=\"$LIMIT\" >> macros
- echo CONFIG=\"$CONFIG\" >> macros
- echo DISABLE_LANG=\"$DISABLE_LANG\" >> macros
- echo DISABLE_SUP=\"$DISABLE_SUP\" >> macros
- echo DO_MACHINE_INDEP=\"$DO_MACHINE_INDEP\" >> macros
- echo MACH_LIST=\"$MACH_LIST\" >> macros
- echo SYSVAX=\"$SYSVAX\" >> macros
- echo WS=\"$WS\" >> macros
- echo PS=\"$PS\" >> macros
- cat macros $FDIR/install_tail > INSTALL
- chmod +x INSTALL
- exit 0
|