config revision 76866
155714Skris#!/bin/sh
255714Skris#
355714Skris# OpenSSL config: determine the operating system and run ./Configure
455714Skris#
555714Skris# "config -h" for usage information.
655714Skris#
755714Skris#          this is a merge of minarch and GuessOS from the Apache Group.
855714Skris#          Originally written by Tim Hudson <tjh@cryptsoft.com>.
955714Skris
1055714Skris# Original Apache Group comments on GuessOS
1155714Skris
1255714Skris# Simple OS/Platform guesser. Similar to config.guess but
1355714Skris# much, much smaller. Since it was developed for use with
1455714Skris# Apache, it follows under Apache's regular licensing
1555714Skris# with one specific addition: Any changes or additions
1655714Skris# to this script should be Emailed to the Apache
1755714Skris# group (apache@apache.org) in general and to
1855714Skris# Jim Jagielski (jim@jaguNET.com) in specific.
1955714Skris#
2055714Skris# Be as similar to the output of config.guess/config.sub
2155714Skris# as possible.
2255714Skris
2355714Skris# First get uname entries that we use below
2455714Skris
2555714SkrisMACHINE=`(uname -m) 2>/dev/null` || MACHINE="unknown"
2655714SkrisRELEASE=`(uname -r) 2>/dev/null` || RELEASE="unknown"
2755714SkrisSYSTEM=`(uname -s) 2>/dev/null`  || SYSTEM="unknown"
2855714SkrisVERSION=`(uname -v) 2>/dev/null` || VERSION="unknown"
2955714Skris
3059191Skris
3155714Skris# Now test for ISC and SCO, since it is has a braindamaged uname.
3255714Skris#
3355714Skris# We need to work around FreeBSD 1.1.5.1 
3455714Skris(
3555714SkrisXREL=`uname -X 2>/dev/null | grep "^Release" | awk '{print $3}'`
3655714Skrisif [ "x$XREL" != "x" ]; then
3755714Skris    if [ -f /etc/kconfig ]; then
3855714Skris	case "$XREL" in
3955714Skris	    4.0|4.1)
4055714Skris		    echo "${MACHINE}-whatever-isc4"; exit 0
4155714Skris		;;
4255714Skris	esac
4355714Skris    else
4455714Skris	case "$XREL" in
4555714Skris	    3.2v4.2)
4655714Skris		echo "whatever-whatever-sco3"; exit 0
4755714Skris		;;
4855714Skris	    3.2v5.0*)
4955714Skris		echo "whatever-whatever-sco5"; exit 0
5055714Skris		;;
5155714Skris	    4.2MP)
5276866Skris		if [ "x$VERSION" = "x2.01" ]; then
5376866Skris		    echo "${MACHINE}-whatever-unixware201"; exit 0
5476866Skris		elif [ "x$VERSION" = "x2.02" ]; then
5576866Skris		    echo "${MACHINE}-whatever-unixware202"; exit 0
5676866Skris		elif [ "x$VERSION" = "x2.03" ]; then
5776866Skris		    echo "${MACHINE}-whatever-unixware203"; exit 0
5876866Skris		elif [ "x$VERSION" = "x2.1.1" ]; then
5955714Skris		    echo "${MACHINE}-whatever-unixware211"; exit 0
6059191Skris		elif [ "x$VERSION" = "x2.1.2" ]; then
6159191Skris		    echo "${MACHINE}-whatever-unixware212"; exit 0
6276866Skris		elif [ "x$VERSION" = "x2.1.3" ]; then
6376866Skris		    echo "${MACHINE}-whatever-unixware213"; exit 0
6455714Skris		else
6555714Skris		    echo "${MACHINE}-whatever-unixware2"; exit 0
6655714Skris		fi
6755714Skris		;;
6855714Skris	    4.2)
6955714Skris		echo "whatever-whatever-unixware1"; exit 0
7055714Skris		;;
7159191Skris	    5)
7259191Skris		if [ "`echo x$VERSION | sed -e 's/\..*//'`" = "x7" ]; then
7359191Skris		    echo "${MACHINE}-sco-unixware7"; exit 0
7459191Skris		fi
7559191Skris		;;
7655714Skris	esac
7755714Skris    fi
7855714Skrisfi
7955714Skris# Now we simply scan though... In most cases, the SYSTEM info is enough
8055714Skris#
8155714Skriscase "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in
8268651Skris    MPE/iX:*)
8368651Skris	MACHINE=`echo "$MACHINE" | sed -e 's/-/_/g'`
8468651Skris	echo "parisc-hp-MPE/iX"; exit 0
8568651Skris	;;
8655714Skris    A/UX:*)
8755714Skris	echo "m68k-apple-aux3"; exit 0
8855714Skris	;;
8955714Skris
9076866Skris    AIX:[3456789]:4:*)
9176866Skris	echo "${MACHINE}-ibm-aix43"; exit 0
9276866Skris	;;
9376866Skris
9476866Skris    AIX:*:[56789]:*)
9576866Skris	echo "${MACHINE}-ibm-aix43"; exit 0
9676866Skris	;;
9776866Skris
9855714Skris    AIX:*)
9955714Skris	echo "${MACHINE}-ibm-aix"; exit 0
10055714Skris	;;
10155714Skris
10255714Skris    dgux:*)
10355714Skris	echo "${MACHINE}-dg-dgux"; exit 0
10455714Skris	;;
10555714Skris
10655714Skris    HI-UX:*)
10755714Skris	echo "${MACHINE}-hi-hiux"; exit 0
10855714Skris	;;
10955714Skris
11055714Skris    HP-UX:*)
11155714Skris	HPUXVER=`echo ${RELEASE}|sed -e 's/[^.]*.[0B]*//'`
11255714Skris	case "$HPUXVER" in
11355714Skris	    11.*)
11455714Skris		echo "${MACHINE}-hp-hpux11"; exit 0
11555714Skris		;;
11655714Skris	    10.*)
11755714Skris		echo "${MACHINE}-hp-hpux10"; exit 0
11855714Skris		;;
11955714Skris	    *)
12055714Skris		echo "${MACHINE}-hp-hpux"; exit 0
12155714Skris		;;
12255714Skris	esac
12355714Skris	;;
12455714Skris
12555714Skris    IRIX:5.*)
12655714Skris	echo "mips2-sgi-irix"; exit 0
12755714Skris	;;
12855714Skris
12955714Skris    IRIX:6.*)
13055714Skris	echo "mips3-sgi-irix"; exit 0
13155714Skris	;;
13255714Skris
13355714Skris    IRIX64:*)
13455714Skris	echo "mips4-sgi-irix64"; exit 0
13555714Skris	;;
13655714Skris
13755714Skris    Linux:[2-9].*)
13855714Skris	echo "${MACHINE}-whatever-linux2"; exit 0
13955714Skris	;;
14055714Skris
14155714Skris    Linux:1.*)
14255714Skris	echo "${MACHINE}-whatever-linux1"; exit 0
14355714Skris	;;
14455714Skris
14555714Skris    LynxOS:*)
14655714Skris	echo "${MACHINE}-lynx-lynxos"; exit 0
14755714Skris	;;
14855714Skris
14955714Skris    BSD/OS:4.*)  # BSD/OS always says 386
15055714Skris	echo "i486-whatever-bsdi4"; exit 0
15155714Skris	;;
15255714Skris
15355714Skris    BSD/386:*:*:*486*|BSD/OS:*:*:*:*486*)
15455714Skris        case `/sbin/sysctl -n hw.model` in
15555714Skris	    Pentium*)
15655714Skris                echo "i586-whatever-bsdi"; exit 0
15755714Skris                ;;
15855714Skris            *)
15955714Skris                echo "i386-whatever-bsdi"; exit 0
16055714Skris                ;;
16155714Skris            esac;
16255714Skris	;;
16355714Skris
16455714Skris    BSD/386:*|BSD/OS:*)
16555714Skris	echo "${MACHINE}-whatever-bsdi"; exit 0
16655714Skris	;;
16755714Skris
16855714Skris    FreeBSD:*)
16955714Skris        VERS=`echo ${RELEASE} | sed -e 's/[-(].*//'`
17055714Skris        MACH=`sysctl -n hw.model`
17155714Skris        ARCH='whatever'
17255714Skris        case ${MACH} in
17355714Skris           *386*       ) MACH="i386"     ;;
17455714Skris           *486*       ) MACH="i486"     ;;
17555714Skris           Pentium\ II*) MACH="i686"     ;;
17655714Skris           Pentium*    ) MACH="i586"     ;;
17755714Skris           Alpha*      ) MACH="alpha"    ;;
17855714Skris           *           ) MACH="$MACHINE" ;;
17955714Skris        esac
18055714Skris        case ${MACH} in
18155714Skris           i[0-9]86 ) ARCH="pc" ;;
18255714Skris        esac
18355714Skris        echo "${MACH}-${ARCH}-freebsd${VERS}"; exit 0
18455714Skris        ;;
18555714Skris
18655714Skris    NetBSD:*:*:*386*)
18772613Skris        echo "`(/usr/sbin/sysctl -n hw.model || /sbin/sysctl -n hw.model) | sed 's,.*\(.\)86-class.*,i\186,'`-whatever-netbsd"; exit 0
18855714Skris	;;
18955714Skris
19055714Skris    NetBSD:*)
19155714Skris	echo "${MACHINE}-whatever-netbsd"; exit 0
19255714Skris	;;
19355714Skris
19455714Skris    OpenBSD:*)
19555714Skris	echo "${MACHINE}-whatever-openbsd"; exit 0
19655714Skris	;;
19755714Skris
19855714Skris    OSF1:*:*:*alpha*)
19955714Skris	echo "${MACHINE}-dec-osf"; exit 0
20055714Skris	;;
20155714Skris
20255714Skris    QNX:*)
20355714Skris	case "$VERSION" in
20468651Skris	    4*)
20568651Skris		echo "${MACHINE}-whatever-qnx4"
20655714Skris		;;
20755714Skris	    *)
20868651Skris		echo "${MACHINE}-whatever-qnx"
20955714Skris		;;
21055714Skris	esac
21155714Skris	exit 0
21255714Skris	;;
21355714Skris
21455714Skris    Paragon*:*:*:*)
21555714Skris	echo "i860-intel-osf1"; exit 0
21655714Skris	;;
21755714Skris
21859191Skris    Rhapsody:*)
21959191Skris	echo "ppc-apple-rhapsody"; exit 0
22059191Skris	;;
22159191Skris
22255714Skris    SunOS:5.*)
22368651Skris	echo "${MACHINE}-whatever-solaris2"; exit 0
22455714Skris	;;
22555714Skris
22655714Skris    SunOS:*)
22755714Skris	echo "${MACHINE}-sun-sunos4"; exit 0
22855714Skris	;;
22955714Skris
23055714Skris    UNIX_System_V:4.*:*)
23155714Skris	echo "${MACHINE}-whatever-sysv4"; exit 0
23255714Skris	;;
23355714Skris
23455714Skris    *:4*:R4*:m88k)
23555714Skris	echo "${MACHINE}-whatever-sysv4"; exit 0
23655714Skris	;;
23755714Skris
23855714Skris    DYNIX/ptx:4*:*)
23955714Skris	echo "${MACHINE}-whatever-sysv4"; exit 0
24055714Skris	;;
24155714Skris
24255714Skris    *:4.0:3.0:3[34]?? | *:4.0:3.0:3[34]??,*)
24355714Skris	echo "i486-ncr-sysv4"; exit 0
24455714Skris	;;
24555714Skris
24655714Skris    ULTRIX:*)
24755714Skris	echo "${MACHINE}-unknown-ultrix"; exit 0
24855714Skris	;;
24955714Skris
25055714Skris    SINIX*|ReliantUNIX*)
25155714Skris	echo "${MACHINE}-siemens-sysv4"; exit 0
25255714Skris	;;
25355714Skris
25455714Skris    POSIX-BC*)
25555714Skris	echo "${MACHINE}-siemens-sysv4"; exit 0   # Here, $MACHINE == "BS2000"
25655714Skris	;;
25755714Skris
25855714Skris    machten:*)
25955714Skris       echo "${MACHINE}-tenon-${SYSTEM}"; exit 0;
26055714Skris       ;;
26155714Skris
26255714Skris    library:*)
26355714Skris	echo "${MACHINE}-ncr-sysv4"; exit 0
26455714Skris	;;
26555714Skris
26655714Skris    ConvexOS:*:11.0:*)
26755714Skris	echo "${MACHINE}-v11-${SYSTEM}"; exit 0;
26855714Skris	;;
26955714Skris
27068651Skris    NEWS-OS:4.*)
27168651Skris	echo "mips-sony-newsos4"; exit 0;
27268651Skris	;;
27368651Skris
27455714Skrisesac
27555714Skris
27655714Skris#
27755714Skris# Ugg. These are all we can determine by what we know about
27855714Skris# the output of uname. Be more creative:
27955714Skris#
28055714Skris
28155714Skris# Do the Apollo stuff first. Here, we just simply assume
28255714Skris# that the existance of the /usr/apollo directory is proof
28355714Skris# enough
28455714Skrisif [ -d /usr/apollo ]; then
28555714Skris    echo "whatever-apollo-whatever"
28655714Skris    exit 0
28755714Skrisfi
28855714Skris
28955714Skris# Now NeXT
29055714SkrisISNEXT=`hostinfo 2>/dev/null`
29155714Skriscase "$ISNEXT" in
29255714Skris    *'NeXT Mach 3.3'*)
29355714Skris	echo "whatever-next-nextstep3.3"; exit 0
29455714Skris	;;
29555714Skris    *NeXT*)
29655714Skris	echo "whatever-next-nextstep"; exit 0
29755714Skris	;;
29855714Skrisesac
29955714Skris
30055714Skris# At this point we gone through all the one's
30155714Skris# we know of: Punt
30255714Skris
30355714Skrisecho "${MACHINE}-whatever-${SYSTEM}" 
30455714Skrisexit 0
30555714Skris) 2>/dev/null | (
30655714Skris
30755714Skris# ---------------------------------------------------------------------------
30855714Skris# this is where the translation occurs into SSLeay terms
30955714Skris# ---------------------------------------------------------------------------
31055714Skris
31155714SkrisPREFIX=""
31255714SkrisSUFFIX=""
31355714SkrisTEST="false"
31455714Skris
31555714Skris# pick up any command line args to config
31655714Skrisfor i
31755714Skrisdo
31855714Skriscase "$i" in 
31955714Skris-d*) PREFIX="debug-";;
32055714Skris-t*) TEST="true";;
32155714Skris-h*) TEST="true"; cat <<EOF
32255714SkrisUsage: config [options]
32355714Skris -d	Add a debug- prefix to machine choice.
32455714Skris -t	Test mode, do not run the Configure perl script.
32555714Skris -h	This help.
32655714Skris
32755714SkrisAny other text will be passed to the Configure perl script.
32855714SkrisSee INSTALL for instructions.
32955714Skris
33055714SkrisEOF
33155714Skris;;
33255714Skris*) options=$options" $i" ;;
33355714Skrisesac
33455714Skrisdone
33555714Skris
33655714Skris# figure out if gcc is available and if so we use it otherwise
33755714Skris# we fallback to whatever cc does on the system
33855714SkrisGCCVER=`(gcc --version) 2>/dev/null`
33955714Skrisif [ "$GCCVER" != "" ]; then
34055714Skris  CC=gcc
34155714Skris  # then strip off whatever prefix Cygnus prepends the number with...
34255714Skris  GCCVER=`echo $GCCVER | sed 's/^[a-z]*\-//'`
34355714Skris  # peak single digit before and after first dot, e.g. 2.95.1 gives 29
34455714Skris  GCCVER=`echo $GCCVER | sed 's/\([0-9]\)\.\([0-9]\).*/\1\2/'`
34555714Skriselse
34655714Skris  CC=cc
34755714Skrisfi
34855714Skris
34955714Skrisif [ "$SYSTEM" = "SunOS" ]; then
35059191Skris  # check for WorkShop C, expected output is "cc: blah-blah C x.x"
35155714Skris  CCVER=`(cc -V 2>&1) 2>/dev/null | \
35255714Skris  	egrep -e '^cc: .* C [0-9]\.[0-9]' | \
35355714Skris	sed 's/.* C \([0-9]\)\.\([0-9]\).*/\1\2/'`
35455714Skris  CCVER=${CCVER:-0}
35555714Skris  if [ $CCVER -gt 40 ]; then
35655714Skris    CC=cc	# overrides gcc!!!
35755714Skris    if [ $CCVER -eq 50 ]; then
35855714Skris      echo "WARNING! Detected WorkShop C 5.0. Do make sure you have"
35955714Skris      echo "         patch #107357-01 or later applied."
36055714Skris      sleep 5
36155714Skris    fi
36255714Skris  elif [ "$CC" = "cc" -a $CCVER -gt 0 ]; then
36355714Skris    CC=sc3
36455714Skris  fi
36555714Skrisfi
36655714Skris
36759191Skrisif [ "${SYSTEM}-${MACHINE}" = "Linux-alpha" ]; then
36859191Skris  # check for Compaq C, expected output is "blah-blah C Vx.x"
36959191Skris  CCCVER=`(ccc -V 2>&1) 2>/dev/null | \
37059191Skris	egrep -e '.* C V[0-9]\.[0-9]' | \
37159191Skris	sed 's/.* C V\([0-9]\)\.\([0-9]\).*/\1\2/'`
37259191Skris  CCCVER=${CCCVER:-0}
37359191Skris  if [ $CCCVER -gt 60 ]; then
37459191Skris    CC=ccc	# overrides gcc!!! well, ccc outperforms inoticeably
37559191Skris		# only on hash routines and des, otherwise gcc (2.95)
37659191Skris		# keeps along rather tight...
37759191Skris  fi
37859191Skrisfi
37959191Skris
38055714SkrisGCCVER=${GCCVER:-0}
38155714SkrisCCVER=${CCVER:-0}
38255714Skris
38355714Skris# read the output of the embedded GuessOS 
38455714Skrisread GUESSOS
38555714Skris
38655714Skrisecho Operating system: $GUESSOS
38755714Skris
38855714Skris# now map the output into SSLeay terms ... really should hack into the
38955714Skris# script above so we end up with values in vars but that would take
39055714Skris# more time that I want to waste at the moment
39155714Skriscase "$GUESSOS" in
39255714Skris  mips2-sgi-irix)
39355714Skris	CPU=`(hinv -t cpu) 2>/dev/null | sed 's/^CPU:[^R]*R\([0-9]*\).*/\1/'`
39455714Skris	CPU=${CPU:-0}
39555714Skris	if [ $CPU -ge 4000 ]; then
39655714Skris		options="$options -mips2"
39755714Skris	fi
39855714Skris	OUT="irix-$CC"
39955714Skris	;;
40055714Skris  mips3-sgi-irix)
40155714Skris	CPU=`(hinv -t cpu) 2>/dev/null | sed 's/^CPU:[^R]*R\([0-9]*\).*/\1/'`
40255714Skris	CPU=${CPU:-0}
40355714Skris	if [ $CPU -ge 5000 ]; then
40455714Skris		options="$options -mips4"
40555714Skris	else
40655714Skris		options="$options -mips3"
40755714Skris	fi
40855714Skris	OUT="irix-mips3-$CC"
40955714Skris	;;
41055714Skris  mips4-sgi-irix64)
41155714Skris	echo "WARNING! If you wish to build 64-bit library, then you have to"
41276866Skris	echo "         invoke './Configure irix64-mips4-$CC' *manually*."
41372613Skris	echo "         Type return if you want to continue, Ctrl-C to abort."
41455714Skris	read waste < /dev/tty
41576866Skris        CPU=`(hinv -t cpu) 2>/dev/null | sed 's/^CPU:[^R]*R\([0-9]*\).*/\1/'`
41676866Skris        CPU=${CPU:-0}
41776866Skris        if [ $CPU -ge 5000 ]; then
41876866Skris                options="$options -mips4"
41976866Skris        else
42076866Skris                options="$options -mips3"
42176866Skris        fi
42255714Skris	OUT="irix-mips3-$CC"
42355714Skris	;;
42459191Skris  alpha-*-linux2)
42559191Skris        ISA=`awk '/cpu model/{print$4}' /proc/cpuinfo`
42659191Skris	case ${ISA:-generic} in
42759191Skris	*[67])	OUT="linux-alpha+bwx-$CC" ;;
42859191Skris	*)	OUT="linux-alpha-$CC" ;;
42959191Skris	esac
43059191Skris	if [ "$CC" = "gcc" ]; then
43159191Skris	    case ${ISA:-generic} in
43259191Skris	    EV5|EV45)		options="$options -mcpu=ev5";;
43359191Skris	    EV56|PCA56)		options="$options -mcpu=ev56";;
43459191Skris	    EV6|EV67|PCA57)	options="$options -mcpu=ev6";;
43559191Skris	    esac
43659191Skris	fi
43759191Skris	;;
43859191Skris  mips-*-linux?) OUT="linux-mips" ;;
43959191Skris  ppc-*-linux2) OUT="linux-ppc" ;;
44068651Skris  m68k-*-linux*) OUT="linux-m68k" ;;
44159191Skris  ia64-*-linux?) OUT="linux-ia64" ;;
44259191Skris  ppc-apple-rhapsody) OUT="rhapsody-ppc-cc" ;;
44355714Skris  sparc64-*-linux2)
44455714Skris	#Before we can uncomment following lines we have to wait at least
44555714Skris	#till 64-bit glibc for SPARC is operational:-(
44655714Skris	#echo "WARNING! If you wish to build 64-bit library, then you have to"
44755714Skris	#echo "         invoke './Configure linux64-sparcv9' *manually*."
44872613Skris	#echo "         Type return if you want to continue, Ctrl-C to abort."
44955714Skris	#read waste < /dev/tty
45055714Skris	OUT="linux-sparcv9" ;;
45155714Skris  sparc-*-linux2)
45272613Skris	KARCH=`awk '/^type/{print$3}' /proc/cpuinfo`
45355714Skris	case ${KARCH:-sun4} in
45455714Skris	sun4u*)	OUT="linux-sparcv9" ;;
45555714Skris	sun4m)	OUT="linux-sparcv8" ;;
45655714Skris	sun4d)	OUT="linux-sparcv8" ;;
45755714Skris	*)	OUT="linux-sparcv7" ;;
45855714Skris	esac ;;
45968651Skris  arm*-*-linux2) OUT="linux-elf-arm" ;;
46072613Skris  s390-*-linux2) OUT="linux-s390" ;;
46155714Skris  *-*-linux2) OUT="linux-elf" ;;
46255714Skris  *-*-linux1) OUT="linux-aout" ;;
46368651Skris  sun4u*-*-solaris2)
46455714Skris	ISA64=`(isalist) 2>/dev/null | grep sparcv9`
46555714Skris	if [ "$ISA64" != "" -a "$CC" = "cc" -a $CCVER -ge 50 ]; then
46655714Skris		echo "WARNING! If you wish to build 64-bit library, then you have to"
46755714Skris		echo "         invoke './Configure solaris64-sparcv9-cc' *manually*."
46872613Skris		echo "         Type return if you want to continue, Ctrl-C to abort."
46955714Skris		read waste < /dev/tty
47055714Skris	fi
47155714Skris	OUT="solaris-sparcv9-$CC" ;;
47268651Skris  sun4m-*-solaris2)	OUT="solaris-sparcv8-$CC" ;;
47368651Skris  sun4d-*-solaris2)	OUT="solaris-sparcv8-$CC" ;;
47468651Skris  sun4*-*-solaris2)	OUT="solaris-sparcv7-$CC" ;;
47568651Skris  *86*-*-solaris2) OUT="solaris-x86-$CC" ;;
47655714Skris  *-*-sunos4) OUT="sunos-$CC" ;;
47755714Skris  alpha*-*-freebsd*) OUT="FreeBSD-alpha" ;;
47855714Skris  *-freebsd[3-9]*) OUT="FreeBSD-elf" ;;
47955714Skris  *-freebsd[1-2]*) OUT="FreeBSD" ;;
48055714Skris  *86*-*-netbsd) OUT="NetBSD-x86" ;;
48155714Skris  sun3*-*-netbsd) OUT="NetBSD-m68" ;;
48255714Skris  *-*-netbsd) OUT="NetBSD-sparc" ;;
48355714Skris  *86*-*-openbsd) OUT="OpenBSD-x86" ;;
48455714Skris  alpha*-*-openbsd) OUT="OpenBSD-alpha" ;;
48555714Skris  pmax*-*-openbsd) OUT="OpenBSD-mips" ;;
48655714Skris  *-*-openbsd) OUT="OpenBSD" ;;
48755714Skris  *86*-*-bsdi4) OUT="bsdi-elf-gcc" ;;
48855714Skris  *-*-osf) OUT="alpha-cc" ;;
48959191Skris  *-*-unixware7) OUT="unixware-7" ;;
49059191Skris  *-*-UnixWare7) OUT="unixware-7" ;;
49159191Skris  *-*-Unixware7) OUT="unixware-7" ;;
49276866Skris  *-*-unixware20*) OUT="unixware-2.0" ;;
49376866Skris  *-*-unixware21*) OUT="unixware-2.1" ;;
49476866Skris  *-*-UnixWare20*) OUT="unixware-2.0" ;;
49576866Skris  *-*-UnixWare21*) OUT="unixware-2.1" ;;
49676866Skris  *-*-Unixware20*) OUT="unixware-2.0" ;;
49776866Skris  *-*-Unixware21*) OUT="unixware-2.1" ;;
49855714Skris  BS2000-siemens-sysv4) OUT="BS2000-OSD" ;;
49955714Skris  RM*-siemens-sysv4) OUT="ReliantUNIX" ;;
50055714Skris  *-siemens-sysv4) OUT="SINIX" ;;
50159191Skris  *-hpux1*)	OUT="hpux-parisc-$CC"
50259191Skris		options="$options -D_REENTRANT" ;;
50359191Skris  *-hpux)	OUT="hpux-parisc-$CC" ;;
50455714Skris  # these are all covered by the catchall below
50555714Skris  # *-aix) OUT="aix-$CC" ;;
50655714Skris  # *-dgux) OUT="dgux" ;;
50768651Skris  mips-sony-newsos4) OUT="newsos4-gcc" ;;
50855714Skris  *) OUT=`echo $GUESSOS | awk -F- '{print $3}'`;;
50955714Skrisesac
51055714Skris
51159191Skris# See whether we can compile Atalla support
51259191Skrisif [ -f /usr/include/atasi.h ]
51359191Skristhen
51459191Skris  options="$options -DATALLA"
51559191Skrisfi
51659191Skris
51755714Skris# gcc < 2.8 does not support -mcpu=ultrasparc
51855714Skrisif [ "$OUT" = solaris-sparcv9-gcc -a $GCCVER -lt 28 ]
51955714Skristhen
52055714Skris  echo "WARNING! Do consider upgrading to gcc-2.8 or later."
52155714Skris  sleep 5
52255714Skris  OUT=solaris-sparcv9-gcc27
52355714Skrisfi
52455714Skrisif [ "$OUT" = "linux-sparcv9" -a $GCCVER -lt 28 ]
52555714Skristhen
52655714Skris  echo "WARNING! Falling down to 'linux-sparcv8'."
52755714Skris  echo "         Upgrade to gcc-2.8 or later."
52855714Skris  sleep 5
52955714Skris  OUT=linux-sparcv8
53055714Skrisfi
53155714Skris
53255714Skriscase "$GUESSOS" in
53355714Skris  i386-*) options="$options 386" ;;
53455714Skrisesac
53555714Skris
53655714Skrisfor i in bf cast des dh dsa hmac md2 md5 mdc2 rc2 rc4 rc5 ripemd rsa sha
53755714Skrisdo
53855714Skris  if [ ! -d crypto/$i ]
53955714Skris  then
54055714Skris    options="$options no-$i"
54155714Skris  fi
54255714Skrisdone
54355714Skris
54455714Skrisif [ -z "$OUT" ]; then
54555714Skris  OUT="$CC"
54655714Skrisfi
54755714Skris
54855714Skrisif [ ".$PERL" = . ] ; then
54955714Skris	for i in . `echo $PATH | sed 's/:/ /g'`; do
55055714Skris		if [ -f "$i/perl5" ] ; then
55155714Skris			PERL="$i/perl5"
55255714Skris			break;
55355714Skris		fi;
55455714Skris	done
55555714Skrisfi
55655714Skris
55755714Skrisif [ ".$PERL" = . ] ; then
55855714Skris	for i in . `echo $PATH | sed 's/:/ /g'`; do
55955714Skris		if [ -f "$i/perl" ] ; then
56055714Skris			if "$i/perl" -e 'exit($]<5.0)'; then
56155714Skris				PERL="$i/perl"
56255714Skris				break;
56355714Skris			fi;
56455714Skris		fi;
56555714Skris	done
56655714Skrisfi
56755714Skris
56855714Skrisif [ ".$PERL" = . ] ; then
56955714Skris	echo "You need Perl 5."
57055714Skris	exit 1
57155714Skrisfi
57255714Skris
57355714Skris# run Configure to check to see if we need to specify the 
57455714Skris# compiler for the platform ... in which case we add it on
57555714Skris# the end ... otherwise we leave it off
57655714Skris
57759191Skris$PERL ./Configure LIST | grep "$OUT-$CC" > /dev/null
57855714Skrisif [ $? = "0" ]; then
57955714Skris  OUT="$OUT-$CC"
58055714Skrisfi
58155714Skris
58255714SkrisOUT="$PREFIX$OUT"
58355714Skris
58459191Skris$PERL ./Configure LIST | grep "$OUT" > /dev/null
58555714Skrisif [ $? = "0" ]; then
58672613Skris  echo Configuring for $OUT
58755714Skris
58855714Skris  if [ "$TEST" = "true" ]; then
58955714Skris    echo $PERL ./Configure $OUT $options
59055714Skris  else
59155714Skris    $PERL ./Configure $OUT $options
59255714Skris  fi
59355714Skriselse
59455714Skris  echo "This system ($OUT) is not supported. See file INSTALL for details."
59555714Skrisfi
59655714Skris)
597