Blame config

Packit Service 084de1
#!/bin/sh
Packit Service 084de1
# Copyright 1998-2020 The OpenSSL Project Authors. All Rights Reserved.
Packit Service 084de1
#
Packit Service 084de1
# Licensed under the OpenSSL license (the "License").  You may not use
Packit Service 084de1
# this file except in compliance with the License.  You can obtain a copy
Packit Service 084de1
# in the file LICENSE in the source distribution or at
Packit Service 084de1
# https://www.openssl.org/source/license.html
Packit Service 084de1
Packit Service 084de1
# OpenSSL config: determine the operating system and run ./Configure
Packit Service 084de1
# Derived from minarch and GuessOS from Apache.
Packit Service 084de1
#
Packit Service 084de1
# Do "config -h" for usage information.
Packit Service 084de1
SUFFIX=""
Packit Service 084de1
DRYRUN="false"
Packit Service 084de1
VERBOSE="false"
Packit Service 084de1
EXE=""
Packit Service 084de1
THERE=`dirname $0`
Packit Service 084de1
Packit Service 084de1
# pick up any command line args to config
Packit Service 084de1
for i
Packit Service 084de1
do
Packit Service 084de1
case "$i" in
Packit Service 084de1
-d*) options=$options" --debug";;
Packit Service 084de1
-t*) DRYRUN="true" VERBOSE="true";;
Packit Service 084de1
-v*) VERBOSE="true";;
Packit Service 084de1
-h*) DRYRUN="true"; cat <
Packit Service 084de1
Usage: config [options]
Packit Service 084de1
 -d	Build with debugging when possible.
Packit Service 084de1
 -t	Test mode, do not run the Configure perl script.
Packit Service 084de1
 -v	Verbose mode, show the exact Configure call that is being made.
Packit Service 084de1
 -h	This help.
Packit Service 084de1
Packit Service 084de1
Any other text will be passed to the Configure perl script.
Packit Service 084de1
See INSTALL for instructions.
Packit Service 084de1
Packit Service 084de1
EOF
Packit Service 084de1
;;
Packit Service 084de1
*)  i=`echo "$i" | sed -e "s|'|'\\\\\\''|g"`
Packit Service 084de1
    options="$options '$i'" ;;
Packit Service 084de1
esac
Packit Service 084de1
done
Packit Service 084de1
Packit Service 084de1
# Environment that's being passed to Configure
Packit Service 084de1
__CNF_CPPDEFINES=
Packit Service 084de1
__CNF_CPPINCLUDES=
Packit Service 084de1
__CNF_CPPFLAGS=
Packit Service 084de1
__CNF_CFLAGS=
Packit Service 084de1
__CNF_CXXFLAGS=
Packit Service 084de1
__CNF_LDFLAGS=
Packit Service 084de1
__CNF_LDLIBS=
Packit Service 084de1
Packit Service 084de1
# First get uname entries that we use below
Packit Service 084de1
Packit Service 084de1
[ "$MACHINE" ] || MACHINE=`(uname -m) 2>/dev/null` || MACHINE="unknown"
Packit Service 084de1
[ "$RELEASE" ] || RELEASE=`(uname -r) 2>/dev/null` || RELEASE="unknown"
Packit Service 084de1
[ "$SYSTEM" ] || SYSTEM=`(uname -s) 2>/dev/null`  || SYSTEM="unknown"
Packit Service 084de1
[ "$BUILD" ] || VERSION=`(uname -v) 2>/dev/null` || VERSION="unknown"
Packit Service 084de1
Packit Service 084de1
Packit Service 084de1
# Now test for ISC and SCO, since it is has a braindamaged uname.
Packit Service 084de1
#
Packit Service 084de1
# We need to work around FreeBSD 1.1.5.1
Packit Service 084de1
(
Packit Service 084de1
XREL=`uname -X 2>/dev/null | grep "^Release" | awk '{print $3}'`
Packit Service 084de1
if [ "x$XREL" != "x" ]; then
Packit Service 084de1
    if [ -f /etc/kconfig ]; then
Packit Service 084de1
	case "$XREL" in
Packit Service 084de1
	    4.0|4.1)
Packit Service 084de1
		    echo "${MACHINE}-whatever-isc4"; exit 0
Packit Service 084de1
		;;
Packit Service 084de1
	esac
Packit Service 084de1
    else
Packit Service 084de1
	case "$XREL" in
Packit Service 084de1
	    3.2v4.2)
Packit Service 084de1
		echo "whatever-whatever-sco3"; exit 0
Packit Service 084de1
		;;
Packit Service 084de1
	    3.2v5.0*)
Packit Service 084de1
		echo "whatever-whatever-sco5"; exit 0
Packit Service 084de1
		;;
Packit Service 084de1
	    4.2MP)
Packit Service 084de1
		case "x${VERSION}" in
Packit Service 084de1
		    x2.0*) echo "whatever-whatever-unixware20"; exit 0 ;;
Packit Service 084de1
		    x2.1*) echo "whatever-whatever-unixware21"; exit 0 ;;
Packit Service 084de1
		    x2*)   echo "whatever-whatever-unixware2";  exit 0 ;;
Packit Service 084de1
		esac
Packit Service 084de1
		;;
Packit Service 084de1
	    4.2)
Packit Service 084de1
		echo "whatever-whatever-unixware1"; exit 0
Packit Service 084de1
		;;
Packit Service 084de1
	    5*)
Packit Service 084de1
		case "x${VERSION}" in
Packit Service 084de1
		    # We hardcode i586 in place of ${MACHINE} for the
Packit Service 084de1
		    # following reason. The catch is that even though Pentium
Packit Service 084de1
		    # is minimum requirement for platforms in question,
Packit Service 084de1
		    # ${MACHINE} gets always assigned to i386. Now, problem
Packit Service 084de1
		    # with i386 is that it makes ./config pass 386 to
Packit Service 084de1
		    # ./Configure, which in turn makes make generate
Packit Service 084de1
		    # inefficient SHA-1 (for this moment) code.
Packit Service 084de1
		    x[678]*)  echo "i586-sco-unixware7"; exit 0 ;;
Packit Service 084de1
		esac
Packit Service 084de1
		;;
Packit Service 084de1
	esac
Packit Service 084de1
    fi
Packit Service 084de1
fi
Packit Service 084de1
# Now we simply scan though... In most cases, the SYSTEM info is enough
Packit Service 084de1
#
Packit Service 084de1
case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in
Packit Service 084de1
    A/UX:*)
Packit Service 084de1
	echo "m68k-apple-aux3"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    AIX:[3-9]:4:*)
Packit Service 084de1
	echo "${MACHINE}-ibm-aix"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    AIX:*:[5-9]:*)
Packit Service 084de1
	echo "${MACHINE}-ibm-aix"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    AIX:*)
Packit Service 084de1
	echo "${MACHINE}-ibm-aix3"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    HI-UX:*)
Packit Service 084de1
	echo "${MACHINE}-hi-hiux"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    HP-UX:*)
Packit Service 084de1
	HPUXVER=`echo ${RELEASE}|sed -e 's/[^.]*.[0B]*//'`
Packit Service 084de1
	case "$HPUXVER" in
Packit Service 084de1
	    1[0-9].*)	# HPUX 10 and 11 targets are unified
Packit Service 084de1
		echo "${MACHINE}-hp-hpux1x"; exit 0
Packit Service 084de1
		;;
Packit Service 084de1
	    *)
Packit Service 084de1
		echo "${MACHINE}-hp-hpux"; exit 0
Packit Service 084de1
		;;
Packit Service 084de1
	esac
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    IRIX:6.*)
Packit Service 084de1
	echo "mips3-sgi-irix"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    IRIX64:*)
Packit Service 084de1
	echo "mips4-sgi-irix64"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    Linux:[2-9].*)
Packit Service 084de1
	echo "${MACHINE}-whatever-linux2"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    Linux:1.*)
Packit Service 084de1
	echo "${MACHINE}-whatever-linux1"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    GNU*)
Packit Service 084de1
	echo "hurd-x86"; exit 0;
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    LynxOS:*)
Packit Service 084de1
	echo "${MACHINE}-lynx-lynxos"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    BSD/OS:4.*)  # BSD/OS always says 386
Packit Service 084de1
	echo "i486-whatever-bsdi4"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    BSD/386:*:*:*486*|BSD/OS:*:*:*:*486*)
Packit Service 084de1
        case `/sbin/sysctl -n hw.model` in
Packit Service 084de1
	    Pentium*)
Packit Service 084de1
                echo "i586-whatever-bsdi"; exit 0
Packit Service 084de1
                ;;
Packit Service 084de1
            *)
Packit Service 084de1
                echo "i386-whatever-bsdi"; exit 0
Packit Service 084de1
                ;;
Packit Service 084de1
            esac;
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    BSD/386:*|BSD/OS:*)
Packit Service 084de1
	echo "${MACHINE}-whatever-bsdi"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    FreeBSD:*:*:*386*)
Packit Service 084de1
        VERS=`echo ${RELEASE} | sed -e 's/[-(].*//'`
Packit Service 084de1
        MACH=`sysctl -n hw.model`
Packit Service 084de1
        ARCH='whatever'
Packit Service 084de1
        case ${MACH} in
Packit Service 084de1
           *386*       ) MACH="i386"     ;;
Packit Service 084de1
           *486*       ) MACH="i486"     ;;
Packit Service 084de1
           Pentium\ II*) MACH="i686"     ;;
Packit Service 084de1
           Pentium*    ) MACH="i586"     ;;
Packit Service 084de1
           *           ) MACH="$MACHINE" ;;
Packit Service 084de1
        esac
Packit Service 084de1
        case ${MACH} in
Packit Service 084de1
           i[0-9]86 ) ARCH="pc" ;;
Packit Service 084de1
        esac
Packit Service 084de1
        echo "${MACH}-${ARCH}-freebsd${VERS}"; exit 0
Packit Service 084de1
        ;;
Packit Service 084de1
Packit Service 084de1
    DragonFly:*)
Packit Service 084de1
	echo "${MACHINE}-whatever-dragonfly"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    FreeBSD:*)
Packit Service 084de1
	echo "${MACHINE}-whatever-freebsd"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    Haiku:*)
Packit Service 084de1
	echo "${MACHINE}-whatever-haiku"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    NetBSD:*:*:*386*)
Packit Service 084de1
        echo "`(/usr/sbin/sysctl -n hw.model || /sbin/sysctl -n hw.model) | sed 's,.*\(.\)86-class.*,i\186,'`-whatever-netbsd"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    NetBSD:*)
Packit Service 084de1
	echo "${MACHINE}-whatever-netbsd"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    OpenBSD:*)
Packit Service 084de1
	echo "${MACHINE}-whatever-openbsd"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    OpenUNIX:*)
Packit Service 084de1
	echo "${MACHINE}-unknown-OpenUNIX${VERSION}"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    OSF1:*:*:*alpha*)
Packit Service 084de1
	OSFMAJOR=`echo ${RELEASE}| sed -e 's/^V\([0-9]*\)\..*$/\1/'`
Packit Service 084de1
	case "$OSFMAJOR" in
Packit Service 084de1
	    4|5)
Packit Service 084de1
		echo "${MACHINE}-dec-tru64"; exit 0
Packit Service 084de1
		;;
Packit Service 084de1
	    1|2|3)
Packit Service 084de1
		echo "${MACHINE}-dec-osf"; exit 0
Packit Service 084de1
		;;
Packit Service 084de1
	    *)
Packit Service 084de1
		echo "${MACHINE}-dec-osf"; exit 0
Packit Service 084de1
		;;
Packit Service 084de1
	esac
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    Paragon*:*:*:*)
Packit Service 084de1
	echo "i860-intel-osf1"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    Rhapsody:*)
Packit Service 084de1
	echo "ppc-apple-rhapsody"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    Darwin:*)
Packit Service 084de1
	case "$MACHINE" in
Packit Service 084de1
	    Power*)
Packit Service 084de1
		echo "ppc-apple-darwin${VERSION}"
Packit Service 084de1
		;;
Packit Service 084de1
	    x86_64)
Packit Service 084de1
		echo "x86_64-apple-darwin${VERSION}"
Packit Service 084de1
		;;
Packit Service 084de1
	    *)
Packit Service 084de1
		echo "i686-apple-darwin${VERSION}"
Packit Service 084de1
		;;
Packit Service 084de1
	esac
Packit Service 084de1
	exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    SunOS:5.*)
Packit Service 084de1
	echo "${MACHINE}-whatever-solaris2"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    SunOS:*)
Packit Service 084de1
	echo "${MACHINE}-sun-sunos4"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    UNIX_System_V:4.*:*)
Packit Service 084de1
	echo "${MACHINE}-whatever-sysv4"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    VOS:*:*:i786)
Packit Service 084de1
     echo "i386-stratus-vos"; exit 0
Packit Service 084de1
     ;;
Packit Service 084de1
Packit Service 084de1
    VOS:*:*:*)
Packit Service 084de1
     echo "hppa1.1-stratus-vos"; exit 0
Packit Service 084de1
     ;;
Packit Service 084de1
Packit Service 084de1
    *:4*:R4*:m88k)
Packit Service 084de1
	echo "${MACHINE}-whatever-sysv4"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    DYNIX/ptx:4*:*)
Packit Service 084de1
	echo "${MACHINE}-whatever-sysv4"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    *:4.0:3.0:3[34]?? | *:4.0:3.0:3[34]??,*)
Packit Service 084de1
	echo "i486-ncr-sysv4"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    ULTRIX:*)
Packit Service 084de1
	echo "${MACHINE}-unknown-ultrix"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    POSIX-BC*)
Packit Service 084de1
	echo "${MACHINE}-siemens-sysv4"; exit 0   # Here, $MACHINE == "BS2000"
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    machten:*)
Packit Service 084de1
       echo "${MACHINE}-tenon-${SYSTEM}"; exit 0;
Packit Service 084de1
       ;;
Packit Service 084de1
Packit Service 084de1
    library:*)
Packit Service 084de1
	echo "${MACHINE}-ncr-sysv4"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    ConvexOS:*:11.0:*)
Packit Service 084de1
	echo "${MACHINE}-v11-${SYSTEM}"; exit 0;
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    # The following combinations are supported
Packit Service 084de1
    # MINGW64* on x86_64 => mingw64
Packit Service 084de1
    # MINGW32* on x86_64 => mingw
Packit Service 084de1
    # MINGW32* on i?86 => mingw
Packit Service 084de1
    #
Packit Service 084de1
    # MINGW64* on i?86 isn't expected to work...
Packit Service 084de1
    MINGW64*:*:*:x86_64)
Packit Service 084de1
	echo "${MACHINE}-whatever-mingw64"; exit 0;
Packit Service 084de1
	;;
Packit Service 084de1
    MINGW*)
Packit Service 084de1
	echo "${MACHINE}-whatever-mingw"; exit 0;
Packit Service 084de1
	;;
Packit Service 084de1
    CYGWIN*)
Packit Service 084de1
	echo "${MACHINE}-pc-cygwin"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
Packit Service 084de1
    vxworks*)
Packit Service 084de1
       echo "${MACHINE}-whatever-vxworks"; exit 0;
Packit Service 084de1
       ;;
Packit Service 084de1
esac
Packit Service 084de1
Packit Service 084de1
#
Packit Service 084de1
# Ugg. These are all we can determine by what we know about
Packit Service 084de1
# the output of uname. Be more creative:
Packit Service 084de1
#
Packit Service 084de1
Packit Service 084de1
# Do the Apollo stuff first. Here, we just simply assume
Packit Service 084de1
# that the existence of the /usr/apollo directory is proof
Packit Service 084de1
# enough
Packit Service 084de1
if [ -d /usr/apollo ]; then
Packit Service 084de1
    echo "whatever-apollo-whatever"
Packit Service 084de1
    exit 0
Packit Service 084de1
fi
Packit Service 084de1
Packit Service 084de1
# Now NeXT
Packit Service 084de1
ISNEXT=`hostinfo 2>/dev/null`
Packit Service 084de1
case "$ISNEXT" in
Packit Service 084de1
    *'NeXT Mach 3.3'*)
Packit Service 084de1
	echo "whatever-next-nextstep3.3"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
    *NeXT*)
Packit Service 084de1
	echo "whatever-next-nextstep"; exit 0
Packit Service 084de1
	;;
Packit Service 084de1
esac
Packit Service 084de1
Packit Service 084de1
# At this point we gone through all the one's
Packit Service 084de1
# we know of: Punt
Packit Service 084de1
Packit Service 084de1
echo "${MACHINE}-whatever-${SYSTEM}"
Packit Service 084de1
exit 0
Packit Service 084de1
) 2>/dev/null | (
Packit Service 084de1
Packit Service 084de1
# ---------------------------------------------------------------------------
Packit Service 084de1
# this is where the translation occurs into SSLeay terms
Packit Service 084de1
# ---------------------------------------------------------------------------
Packit Service 084de1
Packit Service 084de1
# Only set CC if not supplied already
Packit Service 084de1
if [ -z "$CROSS_COMPILE$CC" ]; then
Packit Service 084de1
  GCCVER=`sh -c "gcc -dumpversion" 2>/dev/null`
Packit Service 084de1
  if [ "$GCCVER" != "" ]; then
Packit Service 084de1
    # then strip off whatever prefix egcs prepends the number with...
Packit Service 084de1
    # Hopefully, this will work for any future prefixes as well.
Packit Service 084de1
    GCCVER=`echo $GCCVER | LC_ALL=C sed 's/^[a-zA-Z]*\-//'`
Packit Service 084de1
    # Since gcc 3.1 gcc --version behaviour has changed.  gcc -dumpversion
Packit Service 084de1
    # does give us what we want though, so we use that.  We just just the
Packit Service 084de1
    # major and minor version numbers.
Packit Service 084de1
    # peak single digit before and after first dot, e.g. 2.95.1 gives 29
Packit Service 084de1
    GCCVER=`echo $GCCVER | sed 's/\([0-9]\)\.\([0-9]\).*/\1\2/'`
Packit Service 084de1
    CC=gcc
Packit Service 084de1
  else
Packit Service 084de1
    CC=cc
Packit Service 084de1
  fi
Packit Service 084de1
fi
Packit Service 084de1
GCCVER=${GCCVER:-0}
Packit Service 084de1
if [ "$SYSTEM" = "HP-UX" ];then
Packit Service 084de1
  # By default gcc is a ILP32 compiler (with long long == 64).
Packit Service 084de1
  GCC_BITS="32"
Packit Service 084de1
  if [ $GCCVER -ge 30 ]; then
Packit Service 084de1
    # PA64 support only came in with gcc 3.0.x.
Packit Service 084de1
    # We check if the preprocessor symbol __LP64__ is defined...
Packit Service 084de1
    if echo "__LP64__" | gcc -v -E -x c - 2>/dev/null | grep "^__LP64__" 2>&1 > /dev/null; then
Packit Service 084de1
      : # __LP64__ has slipped through, it therefore is not defined
Packit Service 084de1
    else
Packit Service 084de1
      GCC_BITS="64"
Packit Service 084de1
    fi
Packit Service 084de1
  fi
Packit Service 084de1
fi
Packit Service 084de1
if [ "$SYSTEM" = "SunOS" ]; then
Packit Service 084de1
  if [ $GCCVER -ge 30 ]; then
Packit Service 084de1
    # 64-bit ABI isn't officially supported in gcc 3.0, but it appears
Packit Service 084de1
    # to be working, at the very least 'make test' passes...
Packit Service 084de1
    if gcc -v -E -x c /dev/null 2>&1 | grep __arch64__ > /dev/null; then
Packit Service 084de1
      GCC_ARCH="-m64"
Packit Service 084de1
    else
Packit Service 084de1
      GCC_ARCH="-m32"
Packit Service 084de1
    fi
Packit Service 084de1
  fi
Packit Service 084de1
  # check for WorkShop C, expected output is "cc: blah-blah C x.x"
Packit Service 084de1
  CCVER=`(cc -V 2>&1) 2>/dev/null | \
Packit Service 084de1
  	egrep -e '^cc: .* C [0-9]\.[0-9]' | \
Packit Service 084de1
	sed 's/.* C \([0-9]\)\.\([0-9]\).*/\1\2/'`
Packit Service 084de1
  CCVER=${CCVER:-0}
Packit Service 084de1
  if [ $MACHINE != i86pc -a $CCVER -gt 40 ]; then
Packit Service 084de1
    CC=cc	# overrides gcc!!!
Packit Service 084de1
    if [ $CCVER -eq 50 ]; then
Packit Service 084de1
      echo "WARNING! Detected WorkShop C 5.0. Do make sure you have"
Packit Service 084de1
      echo "         patch #107357-01 or later applied."
Packit Service 084de1
      sleep 5
Packit Service 084de1
    fi
Packit Service 084de1
  fi
Packit Service 084de1
fi
Packit Service 084de1
Packit Service 084de1
if [ "${SYSTEM}" = "AIX" ]; then	# favor vendor cc over gcc
Packit Service 084de1
    (cc) 2>&1 | grep -iv "not found" > /dev/null && CC=cc
Packit Service 084de1
fi
Packit Service 084de1
Packit Service 084de1
CCVER=${CCVER:-0}
Packit Service 084de1
Packit Service 084de1
# read the output of the embedded GuessOS
Packit Service 084de1
read GUESSOS
Packit Service 084de1
Packit Service 084de1
echo Operating system: $GUESSOS
Packit Service 084de1
Packit Service 084de1
# now map the output into SSLeay terms ... really should hack into the
Packit Service 084de1
# script above so we end up with values in vars but that would take
Packit Service 084de1
# more time that I want to waste at the moment
Packit Service 084de1
case "$GUESSOS" in
Packit Service 084de1
  uClinux*64*)
Packit Service 084de1
    OUT=uClinux-dist64
Packit Service 084de1
	;;
Packit Service 084de1
  uClinux*)
Packit Service 084de1
    OUT=uClinux-dist
Packit Service 084de1
	;;
Packit Service 084de1
  mips3-sgi-irix)
Packit Service 084de1
	OUT="irix-mips3-$CC"
Packit Service 084de1
	;;
Packit Service 084de1
  mips4-sgi-irix64)
Packit Service 084de1
	echo "WARNING! If you wish to build 64-bit library, then you have to"
Packit Service 084de1
	echo "         invoke '$THERE/Configure irix64-mips4-$CC' *manually*."
Packit Service 084de1
	if [ "$DRYRUN" = "false" -a -t 1 ]; then
Packit Service 084de1
	  echo "         You have about 5 seconds to press Ctrl-C to abort."
Packit Service 084de1
	  (trap "stty `stty -g`; exit 0" 2 0; stty -icanon min 0 time 50; read waste) <&1
Packit Service 084de1
	fi
Packit Service 084de1
	OUT="irix-mips3-$CC"
Packit Service 084de1
	;;
Packit Service 084de1
  ppc-apple-rhapsody) OUT="rhapsody-ppc-cc" ;;
Packit Service 084de1
  ppc-apple-darwin*)
Packit Service 084de1
	ISA64=`(sysctl -n hw.optional.64bitops) 2>/dev/null`
Packit Service 084de1
	if [ "$ISA64" = "1" -a -z "$KERNEL_BITS" ]; then
Packit Service 084de1
	    echo "WARNING! If you wish to build 64-bit library, then you have to"
Packit Service 084de1
	    echo "         invoke '$THERE/Configure darwin64-ppc-cc' *manually*."
Packit Service 084de1
	    if [ "$DRYRUN" = "false" -a -t 1 ]; then
Packit Service 084de1
	      echo "         You have about 5 seconds to press Ctrl-C to abort."
Packit Service 084de1
	      (trap "stty `stty -g`; exit 0" 2 0; stty -icanon min 0 time 50; read waste) <&1
Packit Service 084de1
	    fi
Packit Service 084de1
	fi
Packit Service 084de1
	if [ "$ISA64" = "1" -a "$KERNEL_BITS" = "64" ]; then
Packit Service 084de1
	    OUT="darwin64-ppc-cc"
Packit Service 084de1
	else
Packit Service 084de1
	    OUT="darwin-ppc-cc"
Packit Service 084de1
	fi ;;
Packit Service 084de1
  i?86-apple-darwin*)
Packit Service 084de1
	ISA64=`(sysctl -n hw.optional.x86_64) 2>/dev/null`
Packit Service 084de1
	if [ "$ISA64" = "1" -a -z "$KERNEL_BITS" ]; then
Packit Service 084de1
	    echo "WARNING! If you wish to build 64-bit library, then you have to"
Packit Service 084de1
	    echo "         invoke 'KERNEL_BITS=64 $THERE/config $options'."
Packit Service 084de1
	    if [ "$DRYRUN" = "false" -a -t 1 ]; then
Packit Service 084de1
	      echo "         You have about 5 seconds to press Ctrl-C to abort."
Packit Service 084de1
	      (trap "stty `stty -g`; exit 1" 2; stty -icanon min 0 time 50; read waste; exit 0) <&1 || exit
Packit Service 084de1
	    fi
Packit Service 084de1
	fi
Packit Service 084de1
	if [ "$ISA64" = "1" -a "$KERNEL_BITS" = "64" ]; then
Packit Service 084de1
	    OUT="darwin64-x86_64-cc"
Packit Service 084de1
	else
Packit Service 084de1
	    OUT="darwin-i386-cc"
Packit Service 084de1
	fi ;;
Packit Service 084de1
  x86_64-apple-darwin*)
Packit Service 084de1
	if [ "$KERNEL_BITS" = "32" ]; then
Packit Service 084de1
	    OUT="darwin-i386-cc"
Packit Service 084de1
	else
Packit Service 084de1
	    OUT="darwin64-x86_64-cc"
Packit Service 084de1
	fi ;;
Packit Service 084de1
  armv6+7-*-iphoneos)
Packit Service 084de1
	__CNF_CFLAGS="$__CNF_CFLAGS -arch armv6 -arch armv7"
Packit Service 084de1
	__CNF_CXXFLAGS="$__CNF_CXXFLAGS -arch armv6 -arch armv7"
Packit Service 084de1
	OUT="iphoneos-cross" ;;
Packit Service 084de1
  *-*-iphoneos)
Packit Service 084de1
	__CNF_CFLAGS="$__CNF_CFLAGS -arch ${MACHINE}"
Packit Service 084de1
	__CNF_CXXFLAGS="$__CNF_CXXFLAGS -arch ${MACHINE}"
Packit Service 084de1
	OUT="iphoneos-cross" ;;
Packit Service 084de1
  arm64-*-iphoneos|*-*-ios64)
Packit Service 084de1
	OUT="ios64-cross" ;;
Packit Service 084de1
  alpha-*-linux2)
Packit Service 084de1
        ISA=`awk '/cpu model/{print$4;exit(0);}' /proc/cpuinfo`
Packit Service 084de1
	OUT="linux-alpha-$CC"
Packit Service 084de1
	if [ "$CC" = "gcc" ]; then
Packit Service 084de1
	    case ${ISA:-generic} in
Packit Service 084de1
	    EV5|EV45)		__CNF_CFLAGS="$__CNF_CFLAGS -mcpu=ev5"
Packit Service 084de1
				__CNF_CXXFLAGS="$__CNF_CFLAGS -mcpu=ev5";;
Packit Service 084de1
	    EV56|PCA56)		__CNF_CFLAGS="$__CNF_CFLAGS -mcpu=ev56"
Packit Service 084de1
				__CNF_CXXFLAGS="$__CNF_CXXFLAGS -mcpu=ev56";;
Packit Service 084de1
	    *)			__CNF_CFLAGS="$__CNF_CFLAGS -mcpu=ev6"
Packit Service 084de1
				__CNF_CXXFLAGS="$__CNF_CXXFLAGS -mcpu=ev6";;
Packit Service 084de1
	    esac
Packit Service 084de1
	fi
Packit Service 084de1
	;;
Packit Service 084de1
  ppc64-*-linux2)
Packit Service 084de1
	if [ -z "$KERNEL_BITS" ]; then
Packit Service 084de1
	    echo "WARNING! If you wish to build 64-bit library, then you have to"
Packit Service 084de1
	    echo "         invoke '$THERE/Configure linux-ppc64' *manually*."
Packit Service 084de1
	    if [ "$DRYRUN" = "false" -a -t 1 ]; then
Packit Service 084de1
		echo "         You have about 5 seconds to press Ctrl-C to abort."
Packit Service 084de1
		(trap "stty `stty -g`; exit 0" 2 0; stty -icanon min 0 time 50; read waste) <&1
Packit Service 084de1
	    fi
Packit Service 084de1
	fi
Packit Service 084de1
	if [ "$KERNEL_BITS" = "64" ]; then
Packit Service 084de1
	    OUT="linux-ppc64"
Packit Service 084de1
	else
Packit Service 084de1
	    OUT="linux-ppc"
Packit Service 084de1
	    if (echo "__LP64__" | gcc -E -x c - 2>/dev/null | grep "^__LP64__" 2>&1 > /dev/null); then
Packit Service 084de1
		:;
Packit Service 084de1
	    else
Packit Service 084de1
		__CNF_CFLAGS="$__CNF_CFLAGS -m32"
Packit Service 084de1
		__CNF_CXXFLAGS="$__CNF_CXXFLAGS -m32"
Packit Service 084de1
	    fi
Packit Service 084de1
	fi
Packit Service 084de1
	;;
Packit Service 084de1
  ppc64le-*-linux2) OUT="linux-ppc64le" ;;
Packit Service 084de1
  ppc-*-linux2) OUT="linux-ppc" ;;
Packit Service 084de1
  mips64*-*-linux2)
Packit Service 084de1
	echo "WARNING! If you wish to build 64-bit library, then you have to"
Packit Service 084de1
	echo "         invoke '$THERE/Configure linux64-mips64' *manually*."
Packit Service 084de1
	if [ "$DRYRUN" = "false" -a -t 1 ]; then
Packit Service 084de1
	    echo "         You have about 5 seconds to press Ctrl-C to abort."
Packit Service 084de1
	    (trap "stty `stty -g`; exit 0" 2 0; stty -icanon min 0 time 50; read waste) <&1
Packit Service 084de1
	fi
Packit Service 084de1
	OUT="linux-mips64"
Packit Service 084de1
	;;
Packit Service 084de1
  mips*-*-linux2) OUT="linux-mips32" ;;
Packit Service 084de1
  ppc60x-*-vxworks*) OUT="vxworks-ppc60x" ;;
Packit Service 084de1
  ppcgen-*-vxworks*) OUT="vxworks-ppcgen" ;;
Packit Service 084de1
  pentium-*-vxworks*) OUT="vxworks-pentium" ;;
Packit Service 084de1
  simlinux-*-vxworks*) OUT="vxworks-simlinux" ;;
Packit Service 084de1
  mips-*-vxworks*) OUT="vxworks-mips";;
Packit Service 084de1
  ia64-*-linux?) OUT="linux-ia64" ;;
Packit Service 084de1
  sparc64-*-linux2)
Packit Service 084de1
	echo "WARNING! If you *know* that your GNU C supports 64-bit/V9 ABI"
Packit Service 084de1
	echo "         and wish to build 64-bit library, then you have to"
Packit Service 084de1
	echo "         invoke '$THERE/Configure linux64-sparcv9' *manually*."
Packit Service 084de1
	if [ "$DRYRUN" = "false" -a -t 1 ]; then
Packit Service 084de1
	  echo "          You have about 5 seconds to press Ctrl-C to abort."
Packit Service 084de1
	  (trap "stty `stty -g`; exit 0" 2 0; stty -icanon min 0 time 50; read waste) <&1
Packit Service 084de1
	fi
Packit Service 084de1
	OUT="linux-sparcv9" ;;
Packit Service 084de1
  sparc-*-linux2)
Packit Service 084de1
	KARCH=`awk '/^type/{print$3;exit(0);}' /proc/cpuinfo`
Packit Service 084de1
	case ${KARCH:-sun4} in
Packit Service 084de1
	sun4u*)	OUT="linux-sparcv9" ;;
Packit Service 084de1
	sun4m)	OUT="linux-sparcv8" ;;
Packit Service 084de1
	sun4d)	OUT="linux-sparcv8" ;;
Packit Service 084de1
	*)	OUT="linux-generic32";
Packit Service 084de1
		__CNF_CPPFLAGS="$__CNF_CPPFLAGS -DB_ENDIAN" ;;
Packit Service 084de1
	esac ;;
Packit Service 084de1
  parisc*-*-linux2)
Packit Service 084de1
	# 64-bit builds under parisc64 linux are not supported and
Packit Service 084de1
	# compiler is expected to generate 32-bit objects...
Packit Service 084de1
	CPUARCH=`awk '/cpu family/{print substr($5,1,3); exit(0);}' /proc/cpuinfo`
Packit Service 084de1
	CPUSCHEDULE=`awk '/^cpu.[ 	]*: PA/{print substr($3,3); exit(0);}' /proc/cpuinfo`
Packit Service 084de1
Packit Service 084de1
	# ??TODO ??  Model transformations
Packit Service 084de1
	# 0. CPU Architecture for the 1.1 processor has letter suffixes. We strip that off
Packit Service 084de1
	#    assuming no further arch. identification will ever be used by GCC.
Packit Service 084de1
	# 1. I'm most concerned about whether is a 7300LC is closer to a 7100 versus a 7100LC.
Packit Service 084de1
	# 2. The variant 64-bit processors cause concern should GCC support explicit schedulers
Packit Service 084de1
	#    for these chips in the future.
Packit Service 084de1
	#         PA7300LC -> 7100LC (1.1)
Packit Service 084de1
	#         PA8200   -> 8000   (2.0)
Packit Service 084de1
	#         PA8500   -> 8000   (2.0)
Packit Service 084de1
	#         PA8600   -> 8000   (2.0)
Packit Service 084de1
Packit Service 084de1
	CPUSCHEDULE=`echo $CPUSCHEDULE|sed -e 's/7300LC/7100LC/' -e 's/8.00/8000/'`
Packit Service 084de1
	# Finish Model transformations
Packit Service 084de1
Packit Service 084de1
	__CNF_CPPFLAGS="$__CNF_CPPFLAGS -DB_ENDIAN"
Packit Service 084de1
	__CNF_CFLAGS="$__CNF_CFLAGS -mschedule=$CPUSCHEDULE -march=$CPUARCH"
Packit Service 084de1
	__CNF_CXXFLAGS="$__CNF_CXXFLAGS -mschedule=$CPUSCHEDULE -march=$CPUARCH"
Packit Service 084de1
	OUT="linux-generic32" ;;
Packit Service 084de1
  armv[1-3]*-*-linux2) OUT="linux-generic32" ;;
Packit Service 084de1
  armv[7-9]*-*-linux2) OUT="linux-armv4"
Packit Service 084de1
		       __CNF_CFLAGS="$__CNF_CFLAGS -march=armv7-a"
Packit Service 084de1
		       __CNF_CXXFLAGS="$__CNF_CXXFLAGS -march=armv7-a"
Packit Service 084de1
		       ;;
Packit Service 084de1
  arm*-*-linux2) OUT="linux-armv4" ;;
Packit Service 084de1
  aarch64-*-linux2) OUT="linux-aarch64" ;;
Packit Service 084de1
  sh*b-*-linux2) OUT="linux-generic32";
Packit Service 084de1
		 __CNF_CPPFLAGS="$__CNF_CPPFLAGS -DB_ENDIAN" ;;
Packit Service 084de1
  sh*-*-linux2)	 OUT="linux-generic32";
Packit Service 084de1
		 __CNF_CPPFLAGS="$__CNF_CPPFLAGS -DL_ENDIAN" ;;
Packit Service 084de1
  m68k*-*-linux2) OUT="linux-generic32";
Packit Service 084de1
		  __CNF_CPPFLAGS="$__CNF_CPPFLAGS -DB_ENDIAN" ;;
Packit Service 084de1
  s390-*-linux2) OUT="linux-generic32";
Packit Service 084de1
		 __CNF_CPPFLAGS="$__CNF_CPPFLAGS -DB_ENDIAN" ;;
Packit Service 084de1
  s390x-*-linux2)
Packit Service 084de1
	# To be uncommented when glibc bug is fixed, see Configure...
Packit Service 084de1
	#if egrep -e '^features.* highgprs' /proc/cpuinfo >/dev/null ; then
Packit Service 084de1
	#  echo "WARNING! If you wish to build \"highgprs\" 32-bit library, then you"
Packit Service 084de1
	#  echo "         have to invoke './Configure linux32-s390x' *manually*."
Packit Service 084de1
	#  if [ "$DRYRUN" = "false" -a -t -1 ]; then
Packit Service 084de1
	#    echo "         You have about 5 seconds to press Ctrl-C to abort."
Packit Service 084de1
	#    (trap "stty `stty -g`; exit 0" 2 0; stty -icanon min 0 time 50; read waste) <&1
Packit Service 084de1
	#  fi
Packit Service 084de1
	#fi
Packit Service 084de1
	OUT="linux64-s390x"
Packit Service 084de1
	;;
Packit Service 084de1
  x86_64-*-linux?)
Packit Service 084de1
	if $CC -dM -E -x c /dev/null 2>&1 | grep -q ILP32 > /dev/null; then
Packit Service 084de1
	    OUT="linux-x32"
Packit Service 084de1
	else
Packit Service 084de1
	    OUT="linux-x86_64"
Packit Service 084de1
	fi ;;
Packit Service 084de1
  *86-*-linux2)
Packit Service 084de1
        # On machines where the compiler understands -m32, prefer a
Packit Service 084de1
        # config target that uses it
Packit Service 084de1
        if $CC -m32 -E -x c /dev/null > /dev/null 2>&1; then
Packit Service 084de1
            OUT="linux-x86"
Packit Service 084de1
        else
Packit Service 084de1
            OUT="linux-elf"
Packit Service 084de1
        fi ;;
Packit Service 084de1
  *86-*-linux1) OUT="linux-aout" ;;
Packit Service 084de1
  *-*-linux?) OUT="linux-generic32" ;;
Packit Service 084de1
  sun4[uv]*-*-solaris2)
Packit Service 084de1
	OUT="solaris-sparcv9-$CC"
Packit Service 084de1
	ISA64=`(isainfo) 2>/dev/null | grep sparcv9`
Packit Service 084de1
	if [ "$ISA64" != "" -a "$KERNEL_BITS" = "" ]; then
Packit Service 084de1
	    if [ "$CC" = "cc" -a $CCVER -ge 50 ]; then
Packit Service 084de1
		echo "WARNING! If you wish to build 64-bit library, then you have to"
Packit Service 084de1
		echo "         invoke '$THERE/Configure solaris64-sparcv9-cc' *manually*."
Packit Service 084de1
		if [ "$DRYRUN" = "false" -a -t 1 ]; then
Packit Service 084de1
		  echo "         You have about 5 seconds to press Ctrl-C to abort."
Packit Service 084de1
		  (trap "stty `stty -g`; exit 0" 2 0; stty -icanon min 0 time 50; read waste) <&1
Packit Service 084de1
		fi
Packit Service 084de1
	    elif [ "$CC" = "gcc" -a "$GCC_ARCH" = "-m64" ]; then
Packit Service 084de1
		# $GCC_ARCH denotes default ABI chosen by compiler driver
Packit Service 084de1
		# (first one found on the $PATH). I assume that user
Packit Service 084de1
		# expects certain consistency with the rest of his builds
Packit Service 084de1
		# and therefore switch over to 64-bit. <appro>
Packit Service 084de1
		OUT="solaris64-sparcv9-gcc"
Packit Service 084de1
		echo "WARNING! If you wish to build 32-bit library, then you have to"
Packit Service 084de1
		echo "         invoke '$THERE/Configure solaris-sparcv9-gcc' *manually*."
Packit Service 084de1
		if [ "$DRYRUN" = "false" -a -t 1 ]; then
Packit Service 084de1
		  echo "         You have about 5 seconds to press Ctrl-C to abort."
Packit Service 084de1
		  (trap "stty `stty -g`; exit 0" 2 0; stty -icanon min 0 time 50; read waste) <&1
Packit Service 084de1
		fi
Packit Service 084de1
	    elif [ "$GCC_ARCH" = "-m32" ]; then
Packit Service 084de1
		echo "NOTICE! If you *know* that your GNU C supports 64-bit/V9 ABI"
Packit Service 084de1
		echo "        and wish to build 64-bit library, then you have to"
Packit Service 084de1
		echo "        invoke '$THERE/Configure solaris64-sparcv9-gcc' *manually*."
Packit Service 084de1
		if [ "$DRYRUN" = "false" -a -t 1 ]; then
Packit Service 084de1
		  echo "         You have about 5 seconds to press Ctrl-C to abort."
Packit Service 084de1
		  (trap "stty `stty -g`; exit 0" 2 0; stty -icanon min 0 time 50; read waste) <&1
Packit Service 084de1
		fi
Packit Service 084de1
	    fi
Packit Service 084de1
	fi
Packit Service 084de1
	if [ "$ISA64" != "" -a "$KERNEL_BITS" = "64" ]; then
Packit Service 084de1
	    OUT="solaris64-sparcv9-$CC"
Packit Service 084de1
	fi
Packit Service 084de1
	;;
Packit Service 084de1
  sun4m-*-solaris2)	OUT="solaris-sparcv8-$CC" ;;
Packit Service 084de1
  sun4d-*-solaris2)	OUT="solaris-sparcv8-$CC" ;;
Packit Service 084de1
  sun4*-*-solaris2)	OUT="solaris-sparcv7-$CC" ;;
Packit Service 084de1
  *86*-*-solaris2)
Packit Service 084de1
	ISA64=`(isainfo) 2>/dev/null | grep amd64`
Packit Service 084de1
	if [ "$ISA64" != "" -a ${KERNEL_BITS:-64} -eq 64 ]; then
Packit Service 084de1
	    OUT="solaris64-x86_64-$CC"
Packit Service 084de1
	else
Packit Service 084de1
	    OUT="solaris-x86-$CC"
Packit Service 084de1
	    if [ `uname -r | sed -e 's/5\.//'` -lt 10 ]; then
Packit Service 084de1
		options="$options no-sse2"
Packit Service 084de1
	    fi
Packit Service 084de1
	fi
Packit Service 084de1
	;;
Packit Service 084de1
  *-*-sunos4)		OUT="sunos-$CC" ;;
Packit Service 084de1
Packit Service 084de1
  *86*-*-bsdi4)		OUT="BSD-x86-elf"; options="$options no-sse2";
Packit Service 084de1
			__CNF_LDFLAGS="$__CNF_LDFLAGS -ldl" ;;
Packit Service 084de1
  alpha*-*-*bsd*)	OUT="BSD-generic64";
Packit Service 084de1
			__CNF_CPPFLAGS="$__CNF_CPPFLAGS -DL_ENDIAN" ;;
Packit Service 084de1
  powerpc64-*-*bsd*)	OUT="BSD-generic64";
Packit Service 084de1
			__CNF_CPPFLAGS="$__CNF_CPPFLAGS -DB_ENDIAN" ;;
Packit Service 084de1
  sparc64-*-*bsd*)	OUT="BSD-sparc64" ;;
Packit Service 084de1
  ia64-*-*bsd*)		OUT="BSD-ia64" ;;
Packit Service 084de1
  x86_64-*-dragonfly*)  OUT="BSD-x86_64" ;;
Packit Service 084de1
  amd64-*-*bsd*)	OUT="BSD-x86_64" ;;
Packit Service 084de1
  *86*-*-*bsd*)		# mimic ld behaviour when it's looking for libc...
Packit Service 084de1
			if [ -L /usr/lib/libc.so ]; then	# [Free|Net]BSD
Packit Service 084de1
			    libc=/usr/lib/libc.so
Packit Service 084de1
			else					# OpenBSD
Packit Service 084de1
			    # ld searches for highest libc.so.* and so do we
Packit Service 084de1
			    libc=`(ls /usr/lib/libc.so.* /lib/libc.so.* | tail -1) 2>/dev/null`
Packit Service 084de1
			fi
Packit Service 084de1
			case "`(file -L $libc) 2>/dev/null`" in
Packit Service 084de1
			*ELF*)	OUT="BSD-x86-elf" ;;
Packit Service 084de1
			*)	OUT="BSD-x86"; options="$options no-sse2" ;;
Packit Service 084de1
			esac ;;
Packit Service 084de1
  *-*-*bsd*)		OUT="BSD-generic32" ;;
Packit Service 084de1
Packit Service 084de1
  x86_64-*-haiku)	OUT="haiku-x86_64" ;;
Packit Service 084de1
  *-*-haiku)		OUT="haiku-x86" ;;
Packit Service 084de1
Packit Service 084de1
  *-*-osf)		OUT="osf1-alpha-cc" ;;
Packit Service 084de1
  *-*-tru64)		OUT="tru64-alpha-cc" ;;
Packit Service 084de1
  *-*-[Uu]nix[Ww]are7)
Packit Service 084de1
	if [ "$CC" = "gcc" ]; then
Packit Service 084de1
	  OUT="unixware-7-gcc" ; options="$options no-sse2"
Packit Service 084de1
	else
Packit Service 084de1
	  OUT="unixware-7" ; options="$options no-sse2"
Packit Service 084de1
	  __CNF_CPPFLAGS="$__CNF_CPPFLAGS -D__i386__"
Packit Service 084de1
	fi
Packit Service 084de1
	;;
Packit Service 084de1
  *-*-[Uu]nix[Ww]are20*) OUT="unixware-2.0"; options="$options no-sse2 no-sha512" ;;
Packit Service 084de1
  *-*-[Uu]nix[Ww]are21*) OUT="unixware-2.1"; options="$options no-sse2 no-sha512" ;;
Packit Service 084de1
  *-*-vos)
Packit Service 084de1
	options="$options no-threads no-shared no-asm no-dso"
Packit Service 084de1
	EXE=".pm"
Packit Service 084de1
	OUT="vos-$CC" ;;
Packit Service 084de1
  BS2000-siemens-sysv4) OUT="BS2000-OSD" ;;
Packit Service 084de1
  *-hpux1*)
Packit Service 084de1
	if [ $CC = "gcc" -a $GCC_BITS = "64" ]; then
Packit Service 084de1
	    OUT="hpux64-parisc2-gcc"
Packit Service 084de1
	fi
Packit Service 084de1
	[ "$KERNEL_BITS" ] || KERNEL_BITS=`(getconf KERNEL_BITS) 2>/dev/null`
Packit Service 084de1
	KERNEL_BITS=${KERNEL_BITS:-32}
Packit Service 084de1
	CPU_VERSION=`(getconf CPU_VERSION) 2>/dev/null`
Packit Service 084de1
	CPU_VERSION=${CPU_VERSION:-0}
Packit Service 084de1
	# See <sys/unistd.h> for further info on CPU_VERSION.
Packit Service 084de1
	if   [ $CPU_VERSION -ge 768 ]; then	# IA-64 CPU
Packit Service 084de1
	     if [ $KERNEL_BITS -eq 64 -a "$CC" = "cc" ]; then
Packit Service 084de1
	        OUT="hpux64-ia64-cc"
Packit Service 084de1
             else
Packit Service 084de1
	        OUT="hpux-ia64-cc"
Packit Service 084de1
             fi
Packit Service 084de1
	elif [ $CPU_VERSION -ge 532 ]; then	# PA-RISC 2.x CPU
Packit Service 084de1
	     # PA-RISC 2.0 is no longer supported as separate 32-bit
Packit Service 084de1
	     # target. This is compensated for by run-time detection
Packit Service 084de1
	     # in most critical assembly modules and taking advantage
Packit Service 084de1
	     # of 2.0 architecture in PA-RISC 1.1 build.
Packit Service 084de1
	     OUT=${OUT:-"hpux-parisc1_1-${CC}"}
Packit Service 084de1
	     if [ $KERNEL_BITS -eq 64 -a "$CC" = "cc" ]; then
Packit Service 084de1
		echo "WARNING! If you wish to build 64-bit library then you have to"
Packit Service 084de1
		echo "         invoke '$THERE/Configure hpux64-parisc2-cc' *manually*."
Packit Service 084de1
		if [ "$DRYRUN" = "false" -a -t 1 ]; then
Packit Service 084de1
		  echo "         You have about 5 seconds to press Ctrl-C to abort."
Packit Service 084de1
		  (trap "stty `stty -g`; exit 0" 2 0; stty -icanon min 0 time 50; read waste) <&1
Packit Service 084de1
		fi
Packit Service 084de1
	     fi
Packit Service 084de1
	elif [ $CPU_VERSION -ge 528 ]; then	# PA-RISC 1.1+ CPU
Packit Service 084de1
	     OUT="hpux-parisc1_1-${CC}"
Packit Service 084de1
	elif [ $CPU_VERSION -ge 523 ]; then	# PA-RISC 1.0 CPU
Packit Service 084de1
	     OUT="hpux-parisc-${CC}"
Packit Service 084de1
	else					# Motorola(?) CPU
Packit Service 084de1
	     OUT="hpux-$CC"
Packit Service 084de1
	fi
Packit Service 084de1
	__CNF_CPPFLAGS="$__CNF_CPPFLAGS -D_REENTRANT" ;;
Packit Service 084de1
  *-hpux)	OUT="hpux-parisc-$CC" ;;
Packit Service 084de1
  *-aix)
Packit Service 084de1
	[ "$KERNEL_BITS" ] || KERNEL_BITS=`(getconf KERNEL_BITMODE) 2>/dev/null`
Packit Service 084de1
	KERNEL_BITS=${KERNEL_BITS:-32}
Packit Service 084de1
	OBJECT_MODE=${OBJECT_MODE:-32}
Packit Service 084de1
	if [ "$CC" = "gcc" ]; then
Packit Service 084de1
	    OUT="aix-gcc"
Packit Service 084de1
          if [ $OBJECT_MODE -eq 64 ]; then
Packit Service 084de1
            echo 'Your $OBJECT_MODE was found to be set to 64'
Packit Service 084de1
            OUT="aix64-gcc"
Packit Service 084de1
          fi
Packit Service 084de1
	elif [ $OBJECT_MODE -eq 64 ]; then
Packit Service 084de1
	    echo 'Your $OBJECT_MODE was found to be set to 64'
Packit Service 084de1
	    OUT="aix64-cc"
Packit Service 084de1
	else
Packit Service 084de1
	    OUT="aix-cc"
Packit Service 084de1
	    if [ $KERNEL_BITS -eq 64 ]; then
Packit Service 084de1
		echo "WARNING! If you wish to build 64-bit kit, then you have to"
Packit Service 084de1
		echo "         invoke '$THERE/Configure aix64-cc' *manually*."
Packit Service 084de1
		if [ "$DRYRUN" = "false" -a -t 1 ]; then
Packit Service 084de1
		    echo "         You have ~5 seconds to press Ctrl-C to abort."
Packit Service 084de1
		    (trap "stty `stty -g`; exit 0" 2 0; stty -icanon min 0 time 50; read waste) <&1
Packit Service 084de1
		fi
Packit Service 084de1
	    fi
Packit Service 084de1
	fi
Packit Service 084de1
	if (lsattr -E -O -l `lsdev -c processor|awk '{print$1;exit}'` | grep -i powerpc) >/dev/null 2>&1; then
Packit Service 084de1
	    :	# this applies even to Power3 and later, as they return PowerPC_POWER[345]
Packit Service 084de1
	else
Packit Service 084de1
	    options="$options no-asm"
Packit Service 084de1
	fi
Packit Service 084de1
	;;
Packit Service 084de1
  # these are all covered by the catchall below
Packit Service 084de1
  i[3456]86-*-cygwin) OUT="Cygwin-x86" ;;
Packit Service 084de1
  *-*-cygwin) OUT="Cygwin-${MACHINE}" ;;
Packit Service 084de1
  x86-*-android|i?86-*-android) OUT="android-x86" ;;
Packit Service 084de1
  armv[7-9]*-*-android)
Packit Service 084de1
      OUT="android-armeabi"
Packit Service 084de1
      __CNF_CFLAGS="$__CNF_CFLAGS -march=armv7-a"
Packit Service 084de1
      __CNF_CXXFLAGS="$__CNF_CXXFLAGS -march=armv7-a";;
Packit Service 084de1
  arm*-*-android) OUT="android-armeabi" ;;
Packit Service 084de1
  *) OUT=`echo $GUESSOS | awk -F- '{print $3}'`;;
Packit Service 084de1
esac
Packit Service 084de1
Packit Service 084de1
# NB: This atalla support has been superseded by the ENGINE support
Packit Service 084de1
# That contains its own header and definitions anyway. Support can
Packit Service 084de1
# be enabled or disabled on any supported platform without external
Packit Service 084de1
# headers, eg. by adding the "hw-atalla" switch to ./config or
Packit Service 084de1
# perl Configure
Packit Service 084de1
#
Packit Service 084de1
# See whether we can compile Atalla support
Packit Service 084de1
#if [ -f /usr/include/atasi.h ]
Packit Service 084de1
#then
Packit Service 084de1
#  __CNF_CPPFLAGS="$__CNF_CPPFLAGS -DATALLA"
Packit Service 084de1
#fi
Packit Service 084de1
Packit Service 084de1
if [ -n "$CONFIG_OPTIONS" ]; then
Packit Service 084de1
  options="$options $CONFIG_OPTIONS"
Packit Service 084de1
fi
Packit Service 084de1
Packit Service 084de1
# gcc < 2.8 does not support -march=ultrasparc
Packit Service 084de1
if [ "$OUT" = solaris-sparcv9-gcc -a $GCCVER -lt 28 ]
Packit Service 084de1
then
Packit Service 084de1
  echo "WARNING! Falling down to 'solaris-sparcv8-gcc'."
Packit Service 084de1
  echo "         Upgrade to gcc-2.8 or later."
Packit Service 084de1
  sleep 5
Packit Service 084de1
  OUT=solaris-sparcv8-gcc
Packit Service 084de1
fi
Packit Service 084de1
if [ "$OUT" = "linux-sparcv9" -a $GCCVER -lt 28 ]
Packit Service 084de1
then
Packit Service 084de1
  echo "WARNING! Falling down to 'linux-sparcv8'."
Packit Service 084de1
  echo "         Upgrade to gcc-2.8 or later."
Packit Service 084de1
  sleep 5
Packit Service 084de1
  OUT=linux-sparcv8
Packit Service 084de1
fi
Packit Service 084de1
Packit Service 084de1
case "$GUESSOS" in
Packit Service 084de1
  i386-*) options="$options 386" ;;
Packit Service 084de1
esac
Packit Service 084de1
Packit Service 084de1
for i in aes aria bf camellia cast des dh dsa ec hmac idea md2 md5 mdc2 rc2 rc4 rc5 ripemd rsa seed sha sm2 sm3 sm4
Packit Service 084de1
do
Packit Service 084de1
  if [ ! -d $THERE/crypto/$i ]
Packit Service 084de1
  then
Packit Service 084de1
    options="$options no-$i"
Packit Service 084de1
  fi
Packit Service 084de1
done
Packit Service 084de1
Packit Service 084de1
if [ -z "$OUT" ]; then
Packit Service 084de1
  OUT="$CC"
Packit Service 084de1
fi
Packit Service 084de1
Packit Service 084de1
if [ ".$PERL" = . ] ; then
Packit Service 084de1
	for i in . `echo $PATH | sed 's/:/ /g'`; do
Packit Service 084de1
		if [ -f "$i/perl5$EXE" ] ; then
Packit Service 084de1
			PERL="$i/perl5$EXE"
Packit Service 084de1
			break;
Packit Service 084de1
		fi;
Packit Service 084de1
	done
Packit Service 084de1
fi
Packit Service 084de1
Packit Service 084de1
if [ ".$PERL" = . ] ; then
Packit Service 084de1
	for i in . `echo $PATH | sed 's/:/ /g'`; do
Packit Service 084de1
		if [ -f "$i/perl$EXE" ] ; then
Packit Service 084de1
			if "$i/perl$EXE" -e 'exit($]<5.0)'; then
Packit Service 084de1
				PERL="$i/perl$EXE"
Packit Service 084de1
				break;
Packit Service 084de1
			fi;
Packit Service 084de1
		fi;
Packit Service 084de1
	done
Packit Service 084de1
fi
Packit Service 084de1
Packit Service 084de1
if [ ".$PERL" = . ] ; then
Packit Service 084de1
	echo "You need Perl 5."
Packit Service 084de1
	exit 1
Packit Service 084de1
fi
Packit Service 084de1
Packit Service 084de1
# run Configure to check to see if we need to specify the
Packit Service 084de1
# compiler for the platform ... in which case we add it on
Packit Service 084de1
# the end ... otherwise we leave it off
Packit Service 084de1
Packit Service 084de1
$PERL $THERE/Configure LIST | grep "$OUT-$CC" > /dev/null
Packit Service 084de1
if [ $? = "0" ]; then
Packit Service 084de1
  OUT="$OUT-$CC"
Packit Service 084de1
fi
Packit Service 084de1
Packit Service 084de1
OUT="$OUT"
Packit Service 084de1
Packit Service 084de1
if [ "$OUT" = "darwin64-x86_64-cc" ]; then
Packit Service 084de1
    echo "WARNING! If you wish to build 32-bit libraries, then you have to"
Packit Service 084de1
    echo "         invoke 'KERNEL_BITS=32 $THERE/config $options'."
Packit Service 084de1
fi
Packit Service 084de1
Packit Service 084de1
if $PERL $THERE/Configure LIST | grep "$OUT" > /dev/null; then
Packit Service 084de1
  if [ "$VERBOSE" = "true" ]; then
Packit Service 084de1
    echo /usr/bin/env \
Packit Service 084de1
	 __CNF_CPPDEFINES="'$__CNF_CPPDEFINES'" \
Packit Service 084de1
	 __CNF_CPPINCLUDES="'$__CNF_CPPINCLUDES'" \
Packit Service 084de1
	 __CNF_CPPFLAGS="'$__CNF_CPPFLAGS'" \
Packit Service 084de1
	 __CNF_CFLAGS="'$__CNF_CFLAGS'" \
Packit Service 084de1
	 __CNF_CXXFLAGS="'$__CNF_CXXFLAGS'" \
Packit Service 084de1
	 __CNF_LDFLAGS="'$__CNF_LDFLAGS'" \
Packit Service 084de1
	 __CNF_LDLIBS="'$__CNF_LDLIBS'" \
Packit Service 084de1
	 $PERL $THERE/Configure $OUT $options
Packit Service 084de1
  fi
Packit Service 084de1
  if [ "$DRYRUN" = "false" ]; then
Packit Service 084de1
    # eval to make sure quoted options, possibly with spaces inside,
Packit Service 084de1
    # are treated right
Packit Service 084de1
    eval /usr/bin/env \
Packit Service 084de1
	 __CNF_CPPDEFINES="'$__CNF_CPPDEFINES'" \
Packit Service 084de1
	 __CNF_CPPINCLUDES="'$__CNF_CPPINCLUDES'" \
Packit Service 084de1
	 __CNF_CPPFLAGS="'$__CNF_CPPFLAGS'" \
Packit Service 084de1
	 __CNF_CFLAGS="'$__CNF_CFLAGS'" \
Packit Service 084de1
	 __CNF_CXXFLAGS="'$__CNF_CXXFLAGS'" \
Packit Service 084de1
	 __CNF_LDFLAGS="'$__CNF_LDFLAGS'" \
Packit Service 084de1
	 __CNF_LDLIBS="'$__CNF_LDLIBS'" \
Packit Service 084de1
	 $PERL $THERE/Configure $OUT $options
Packit Service 084de1
  fi
Packit Service 084de1
else
Packit Service 084de1
  echo "This system ($OUT) is not supported. See file INSTALL for details."
Packit Service 084de1
  exit 1
Packit Service 084de1
fi
Packit Service 084de1
Packit Service 084de1
# Do not add anothing from here on, so we don't lose the Configure exit code
Packit Service 084de1
)