X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=config;h=5f3446b05128dcf449919542a6fa47b3c1274cf5;hp=0afbcccb1ddddd632f2277d9c956dc5e7565d950;hb=0fda2e3788c576392f3521dfa4b9c86e93e977b7;hpb=78414a6a897db42c9bcf06aa21c705811ab33921 diff --git a/config b/config index 0afbcccb1d..5f3446b051 100755 --- a/config +++ b/config @@ -1,14 +1,11 @@ #!/bin/sh # -# config - this is a merge of minarch and GuessOS from the Apache Group -# which then automatically runs Configure from SSLeay after -# mapping the Apache names for OSs into SSLeay names +# OpenSSL config: determine the operating system and run ./Configure # -# 16-Sep-97 tjh first cut of merged version -# -# Tim Hudson -# tjh@cryptsoft.com +# "config -h" for usage information. # +# this is a merge of minarch and GuessOS from the Apache Group. +# Originally written by Tim Hudson . # Original Apache Group comments on GuessOS @@ -30,7 +27,6 @@ RELEASE=`(uname -r) 2>/dev/null` || RELEASE="unknown" SYSTEM=`(uname -s) 2>/dev/null` || SYSTEM="unknown" VERSION=`(uname -v) 2>/dev/null` || VERSION="unknown" - # Now test for ISC and SCO, since it is has a braindamaged uname. # # We need to work around FreeBSD 1.1.5.1 @@ -123,16 +119,27 @@ case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in echo "${MACHINE}-whatever-bsdi"; exit 0 ;; - FreeBSD:*:*:*486*) - echo "i486-whatever-freebsd"; exit 0 + FreeBSD:3*:*:*) + echo "${MACHINE}-whatever-freebsd3"; exit 0 + ;; + + FreeBSD:*:*:*386*) + case `sysctl -n hw.model` in + Pentium*) + echo "i586-whatever-freebsd"; exit 0 + ;; + *) + echo "i386-whatever-freebsd"; exit 0 + ;; + esac; ;; FreeBSD:*) echo "${MACHINE}-whatever-freebsd"; exit 0 ;; - NetBSD:*:*:*486*) - echo "i486-whatever-netbsd"; exit 0 + NetBSD:*:*:*386*) + echo "`sysctl -n hw.model | sed 's,.*\(.\)86-class.*,i\186,'`-whateve\r-netbsd"; exit 0 ;; NetBSD:*) @@ -233,7 +240,7 @@ esac # At this point we gone through all the one's # we know of: Punt -echo "${MACHINE}-whatever-${SYSTEM}|${RELEASE}|${VERSION}" +echo "${MACHINE}-whatever-${SYSTEM}" exit 0 ) 2>/dev/null | ( @@ -243,7 +250,6 @@ exit 0 PREFIX="" SUFFIX="" -VERBOSE="false" TEST="false" # pick up any command line args to config @@ -251,14 +257,25 @@ for i do case "$i" in -d*) PREFIX="debug-";; --v*) VERBOSE="true";; --n*|-t*) TEST="true";; +-t*) TEST="true";; +-h*) TEST="true"; cat <&1` +GCCVER=`(gcc -v) 2>&1` if [ $? = "0" ]; then CC=gcc else @@ -268,57 +285,92 @@ fi # read the output of the embedded GuessOS read GUESSOS -if [ "$VERBOSE" = "true" ]; then - echo GUESSOS $GUESSOS -fi +echo Operating system: $GUESSOS # now map the output into SSLeay terms ... really should hack into the # script above so we end up with values in vars but that would take # more time that I want to waste at the moment case "$GUESSOS" in + alpha-*-linux2) OUT="alpha-gcc" ;; + ppc-*-linux2) OUT="linux-ppc" ;; *-*-linux2) OUT="linux-elf" ;; - *-*-linux) OUT="linux-aout" ;; + *-*-linux1) OUT="linux-aout" ;; sun4*-sun-solaris2) OUT="solaris-sparc-$CC" ;; *86*-sun-solaris2) OUT="solaris-x86-$CC" ;; *-*-sunos4) OUT="sunos-$CC" ;; + *-freebsd3) OUT="FreeBSD-elf" ;; *-freebsd) OUT="FreeBSD" ;; *86*-*-netbsd) OUT="NetBSD-x86" ;; sun3*-*-netbsd) OUT="NetBSD-m68" ;; *-*-netbsd) OUT="NetBSD-sparc" ;; - *-*-osf) OUT="alpha-$CC" ;; + *86*-*-openbsd) OUT="OpenBSD-x86" ;; + alpha*-*-openbsd) OUT="OpenBSD-alpha" ;; + pmax*-*-openbsd) OUT="OpenBSD-mips" ;; + *-*-openbsd) OUT="OpenBSD" ;; + *-*-osf) OUT="alpha-cc" ;; *-*-unixware*) OUT="unixware-2.0" ;; *-sni-sysv4) OUT="SINIX" ;; + *-hpux*) OUT="hpux-$CC" ;; # these are all covered by the catchall below - # *-hpux) OUT="hpux-$CC" ;; # *-aix) OUT="aix-$CC" ;; # *-dgux) OUT="dgux" ;; *) OUT=`echo $GUESSOS | awk -F- '{print $3}'`;; esac +case "$GUESSOS" in + i386-*) options="$options 386" ;; +esac + if [ -z "$OUT" ]; then OUT="$CC" fi +if [ ".$PERL" = . ] ; then + for i in . `echo $PATH | sed 's/:/ /g'`; do + if [ -f "$i/perl5" ] ; then + PERL="$i/perl5" + break; + fi; + done +fi + +if [ ".$PERL" = . ] ; then + for i in . `echo $PATH | sed 's/:/ /g'`; do + if [ -f "$i/perl" ] ; then + if "$i/perl" -e 'exit($]<5.0)'; then + PERL="$i/perl" + break; + fi; + fi; + done +fi + +if [ ".$PERL" = . ] ; then + echo "You need Perl 5." + exit 1 +fi + # run Configure to check to see if we need to specify the # compiler for the platform ... in which case we add it on # the end ... otherwise we leave it off -./Configure 2>&1 | grep '$OUT-$CC' > /dev/null + +$PERL ./Configure 2>&1 | grep "$OUT-$CC" > /dev/null if [ $? = "0" ]; then OUT="$OUT-$CC" fi OUT="$PREFIX$OUT" -# at this point we have the answer ... which we could check again -# and then fallback to a vanilla SSLeay build but then this script -# wouldn't get updated -echo Configuring for $OUT +$PERL ./Configure 2>&1 | grep "$OUT" > /dev/null +if [ $? = "0" ]; then + echo Configuring for $OUT -if [ "$TEST" = "true" ]; then - echo ./Configure $OUT + if [ "$TEST" = "true" ]; then + echo $PERL ./Configure $OUT $options + else + $PERL ./Configure $OUT $options + fi else - ./Configure $OUT + echo "This system is not supported. See file INSTALL for details." fi - ) -