X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=config;h=c6488ee55a644373f1fb578627dffc1f02c5349a;hp=37f86b068a6ecf46bece55b962bf8f59884896ea;hb=3a325c60a39610e8afd56dd90417f13d1044fb00;hpb=8fcdb1e60f0dcc09dff5395de95e884d4f8610ce diff --git a/config b/config index 37f86b068a..c6488ee55a 100755 --- a/config +++ b/config @@ -382,7 +382,7 @@ esac # # Do the Apollo stuff first. Here, we just simply assume -# that the existance of the /usr/apollo directory is proof +# that the existence of the /usr/apollo directory is proof # enough if [ -d /usr/apollo ]; then echo "whatever-apollo-whatever" @@ -411,25 +411,18 @@ exit 0 # this is where the translation occurs into SSLeay terms # --------------------------------------------------------------------------- -if [ -z "$GCCVER" ]; then - GCCVER=`(gcc -dumpversion) 2>/dev/null` -fi -if [ "$GCCVER" != "" ]; then - # then strip off whatever prefix egcs prepends the number with... - # Hopefully, this will work for any future prefixes as well. - GCCVER=`echo $GCCVER | LC_ALL=C sed 's/^[a-zA-Z]*\-//'` - # Since gcc 3.1 gcc --version behaviour has changed. gcc -dumpversion - # does give us what we want though, so we use that. We just just the - # major and minor version numbers. - # peak single digit before and after first dot, e.g. 2.95.1 gives 29 - GCCVER=`echo $GCCVER | sed 's/\([0-9]\)\.\([0-9]\).*/\1\2/'` -fi - # Only set CC if not supplied already -if [ -z "$CC" ]; then -# figure out if gcc is available and if so we use it otherwise -# we fallback to whatever cc does on the system +if [ -z "$CROSS_COMPILE$CC" ]; then + GCCVER=`sh -c "gcc -dumpversion" 2>/dev/null` if [ "$GCCVER" != "" ]; then + # then strip off whatever prefix egcs prepends the number with... + # Hopefully, this will work for any future prefixes as well. + GCCVER=`echo $GCCVER | LC_ALL=C sed 's/^[a-zA-Z]*\-//'` + # Since gcc 3.1 gcc --version behaviour has changed. gcc -dumpversion + # does give us what we want though, so we use that. We just just the + # major and minor version numbers. + # peak single digit before and after first dot, e.g. 2.95.1 gives 29 + GCCVER=`echo $GCCVER | sed 's/\([0-9]\)\.\([0-9]\).*/\1\2/'` CC=gcc else CC=cc @@ -545,7 +538,7 @@ case "$GUESSOS" in ppc-apple-rhapsody) OUT="rhapsody-ppc-cc" ;; ppc-apple-darwin*) ISA64=`(sysctl -n hw.optional.64bitops) 2>/dev/null` - if [ "$ISA64" = "1" ]; then + if [ "$ISA64" = "1" -a -z "$KERNEL_BITS" ]; then echo "WARNING! If you wish to build 64-bit library, then you have to" echo " invoke './Configure darwin64-ppc-cc' *manually*." if [ "$TEST" = "false" -a -t 1 ]; then @@ -553,10 +546,14 @@ case "$GUESSOS" in (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1 fi fi - OUT="darwin-ppc-cc" ;; + if [ "$ISA64" = "1" -a "$KERNEL_BITS" = "64" ]; then + OUT="darwin64-ppc-cc" + else + OUT="darwin-ppc-cc" + fi ;; i?86-apple-darwin*) ISA64=`(sysctl -n hw.optional.x86_64) 2>/dev/null` - if [ "$ISA64" = "1" ]; then + if [ "$ISA64" = "1" -a -z "$KERNEL_BITS" ]; then echo "WARNING! If you wish to build 64-bit library, then you have to" echo " invoke './Configure darwin64-x86_64-cc' *manually*." if [ "$TEST" = "false" -a -t 1 ]; then @@ -564,7 +561,17 @@ case "$GUESSOS" in (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1 fi fi - OUT="darwin-i386-cc" ;; + if [ "$ISA64" = "1" -a "$KERNEL_BITS" = "64" ]; then + OUT="darwin64-x86_64-cc" + else + OUT="darwin-i386-cc" + fi ;; + armv6+7-*-iphoneos) + options="$options -arch%20armv6 -arch%20armv7" + OUT="iphoneos-cross" ;; + *-*-iphoneos) + options="$options -arch%20${MACHINE}" + OUT="iphoneos-cross" ;; alpha-*-linux2) ISA=`awk '/cpu model/{print$4;exit(0);}' /proc/cpuinfo` case ${ISA:-generic} in @@ -580,15 +587,33 @@ case "$GUESSOS" in fi ;; ppc64-*-linux2) + if [ -z "$KERNEL_BITS" ]; then + echo "WARNING! If you wish to build 64-bit library, then you have to" + echo " invoke './Configure linux-ppc64' *manually*." + if [ "$TEST" = "false" -a -t 1 ]; then + echo " You have about 5 seconds to press Ctrl-C to abort." + (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1 + fi + fi + if [ "$KERNEL_BITS" = "64" ]; then + OUT="linux-ppc64" + else + OUT="linux-ppc" + (echo "__LP64__" | gcc -E -x c - 2>/dev/null | grep "^__LP64__" 2>&1 > /dev/null) || options="$options -m32" + fi + ;; + ppc64le-*-linux2) OUT="linux-ppc64le" ;; + ppc-*-linux2) OUT="linux-ppc" ;; + mips64*-*-linux2) echo "WARNING! If you wish to build 64-bit library, then you have to" - echo " invoke './Configure linux-ppc64' *manually*." + echo " invoke './Configure linux64-mips64' *manually*." if [ "$TEST" = "false" -a -t 1 ]; then echo " You have about 5 seconds to press Ctrl-C to abort." (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1 fi - OUT="linux-ppc" + OUT="linux-mips64" ;; - ppc-*-linux2) OUT="linux-ppc" ;; + mips*-*-linux2) OUT="linux-mips32" ;; ppc60x-*-vxworks*) OUT="vxworks-ppc60x" ;; ppcgen-*-vxworks*) OUT="vxworks-ppcgen" ;; pentium-*-vxworks*) OUT="vxworks-pentium" ;; @@ -637,6 +662,7 @@ case "$GUESSOS" in armv[1-3]*-*-linux2) OUT="linux-generic32" ;; armv[7-9]*-*-linux2) OUT="linux-armv4"; options="$options -march=armv7-a" ;; arm*-*-linux2) OUT="linux-armv4" ;; + aarch64-*-linux2) OUT="linux-generic64" ;; sh*b-*-linux2) OUT="linux-generic32"; options="$options -DB_ENDIAN" ;; sh*-*-linux2) OUT="linux-generic32"; options="$options -DL_ENDIAN" ;; m68k*-*-linux2) OUT="linux-generic32"; options="$options -DB_ENDIAN" ;; @@ -671,7 +697,7 @@ case "$GUESSOS" in sun4[uv]*-*-solaris2) OUT="solaris-sparcv9-$CC" ISA64=`(isalist) 2>/dev/null | grep sparcv9` - if [ "$ISA64" != "" ]; then + if [ "$ISA64" != "" -a "$KERNEL_BITS" = "" ]; then if [ "$CC" = "cc" -a $CCVER -ge 50 ]; then echo "WARNING! If you wish to build 64-bit library, then you have to" echo " invoke './Configure solaris64-sparcv9-cc' *manually*." @@ -701,13 +727,16 @@ case "$GUESSOS" in fi fi fi + if [ "$ISA64" != "" -a "$KERNEL_BITS" = "64" ]; then + OUT="solaris64-sparcv9-$CC" + fi ;; sun4m-*-solaris2) OUT="solaris-sparcv8-$CC" ;; sun4d-*-solaris2) OUT="solaris-sparcv8-$CC" ;; sun4*-*-solaris2) OUT="solaris-sparcv7-$CC" ;; *86*-*-solaris2) ISA64=`(isalist) 2>/dev/null | grep amd64` - if [ "$ISA64" != "" ]; then + if [ "$ISA64" != "" -a ${KERNEL_BITS:-64} -eq 64 ]; then OUT="solaris64-x86_64-$CC" else OUT="solaris-x86-$CC" @@ -729,7 +758,7 @@ case "$GUESSOS" in libc=/usr/lib/libc.so else # OpenBSD # ld searches for highest libc.so.* and so do we - libc=`(ls /usr/lib/libc.so.* | tail -1) 2>/dev/null` + libc=`(ls /usr/lib/libc.so.* /lib/libc.so.* | tail -1) 2>/dev/null` fi case "`(file -L $libc) 2>/dev/null`" in *ELF*) OUT="BSD-x86-elf" ;; @@ -835,7 +864,7 @@ case "$GUESSOS" in *) OUT=`echo $GUESSOS | awk -F- '{print $3}'`;; esac -# NB: This atalla support has been superceded by the ENGINE support +# NB: This atalla support has been superseded by the ENGINE support # That contains its own header and definitions anyway. Support can # be enabled or disabled on any supported platform without external # headers, eg. by adding the "hw-atalla" switch to ./config or @@ -851,10 +880,9 @@ if [ -n "$CONFIG_OPTIONS" ]; then options="$options $CONFIG_OPTIONS" fi -if [ -z "$CONFIG_SKIP_NOEXECSTACK" ]; then - ! expr "$options" : '.*no\-asm' > /dev/null && \ - ($CC -Wa,--help -c -o /dev/null -x assembler /dev/null 2>&1 | \ - grep \\--noexecstack) 2>&1 > /dev/null && \ +if expr "$options" : '.*no\-asm' > /dev/null; then :; else + sh -c "$CROSS_COMPILE${CC:-gcc} -Wa,--help -c -o /tmp/null.$$.o -x assembler /dev/null && rm /tmp/null.$$.o" 2>&1 | \ + grep \\--noexecstack >/dev/null && \ options="$options -Wa,--noexecstack" fi