SM4: Add SM4 block cipher to EVP
[openssl.git] / config
diff --git a/config b/config
index eef07d8436e7292d38fef0c1b2f4263870022894..14d735c6181ab36eb3905094cb7e0daf85c53032 100755 (executable)
--- a/config
+++ b/config
@@ -1,5 +1,5 @@
 #!/bin/sh
-# Copyright 1998-2016 The OpenSSL Project Authors. All Rights Reserved.
+# Copyright 1998-2017 The OpenSSL Project Authors. All Rights Reserved.
 #
 # Licensed under the OpenSSL license (the "License").  You may not use
 # this file except in compliance with the License.  You can obtain a copy
@@ -187,6 +187,10 @@ case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in
         echo "${MACH}-${ARCH}-freebsd${VERS}"; exit 0
         ;;
 
+    DragonFly:*)
+       echo "${MACHINE}-whatever-dragonfly"; exit 0
+       ;;
+
     FreeBSD:*)
        echo "${MACHINE}-whatever-freebsd"; exit 0
        ;;
@@ -316,6 +320,15 @@ case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in
        echo "${MACHINE}-v11-${SYSTEM}"; exit 0;
        ;;
 
+    # The following combinations are supported
+    # MINGW64* on x86_64 => mingw64
+    # MINGW32* on x86_64 => mingw
+    # MINGW32* on i?86 => mingw
+    #
+    # MINGW64* on i?86 isn't expected to work...
+    MINGW64*:*:*:x86_64)
+       echo "${MACHINE}-whatever-mingw64"; exit 0;
+       ;;
     MINGW*)
        echo "${MACHINE}-whatever-mingw"; exit 0;
        ;;
@@ -441,13 +454,6 @@ case "$GUESSOS" in
     OUT=uClinux-dist
        ;;
   mips3-sgi-irix)
-       #CPU=`(hinv -t cpu) 2>/dev/null | head -1 | sed 's/^CPU:[^R]*R\([0-9]*\).*/\1/'`
-       #CPU=${CPU:-0}
-       #if [ $CPU -ge 5000 ]; then
-       #       options="$options -mips4"
-       #else
-       #       options="$options -mips3"
-       #fi
        OUT="irix-mips3-$CC"
        ;;
   mips4-sgi-irix64)
@@ -457,13 +463,6 @@ case "$GUESSOS" in
          echo "         You have about 5 seconds to press Ctrl-C to abort."
          (trap "stty `stty -g`; exit 0" 2 0; stty -icanon min 0 time 50; read waste) <&1
        fi
-        #CPU=`(hinv -t cpu) 2>/dev/null | head -1 | sed 's/^CPU:[^R]*R\([0-9]*\).*/\1/'`
-        #CPU=${CPU:-0}
-        #if [ $CPU -ge 5000 ]; then
-        #        options="$options -mips4"
-        #else
-        #        options="$options -mips3"
-        #fi
        OUT="irix-mips3-$CC"
        ;;
   ppc-apple-rhapsody) OUT="rhapsody-ppc-cc" ;;
@@ -489,9 +488,7 @@ case "$GUESSOS" in
            echo "         invoke 'KERNEL_BITS=64 $THERE/config $options'."
            if [ "$DRYRUN" = "false" -a -t 1 ]; then
              echo "         You have about 5 seconds to press Ctrl-C to abort."
-             # The stty technique used elsewhere doesn't work on
-             # MacOS. At least, right now on this Mac.
-             sleep 5
+             (trap "stty `stty -g`; exit 1" 2; stty -icanon min 0 time 50; read waste; exit 0) <&1 || exit
            fi
        fi
        if [ "$ISA64" = "1" -a "$KERNEL_BITS" = "64" ]; then
@@ -500,16 +497,6 @@ case "$GUESSOS" in
            OUT="darwin-i386-cc"
        fi ;;
   x86_64-apple-darwin*)
-       if [ -z "$KERNEL_BITS" ]; then
-           echo "WARNING! If you wish to build 32-bit library, then you have to"
-           echo "         invoke 'KERNEL_BITS=32 $THERE/config $options'."
-           if [ "$DRYRUN" = "false" -a -t 1 ]; then
-             echo "         You have about 5 seconds to press Ctrl-C to abort."
-             # The stty technique used elsewhere doesn't work on
-             # MacOS. At least, right now on this Mac.
-             sleep 5
-           fi
-       fi
        if [ "$KERNEL_BITS" = "32" ]; then
            OUT="darwin-i386-cc"
        else
@@ -636,7 +623,14 @@ case "$GUESSOS" in
        else
            OUT="linux-x86_64"
        fi ;;
-  *86-*-linux2) OUT="linux-elf" ;;
+  *86-*-linux2)
+        # On machines where the compiler understands -m32, prefer a
+        # config target that uses it
+        if $CC -m32 -E -x c /dev/null > /dev/null 2>&1; then
+            OUT="linux-x86"
+        else
+            OUT="linux-elf"
+        fi ;;
   *86-*-linux1) OUT="linux-aout" ;;
   *-*-linux?) OUT="linux-generic32" ;;
   sun4[uv]*-*-solaris2)
@@ -697,6 +691,7 @@ case "$GUESSOS" in
   powerpc64-*-*bsd*)   OUT="BSD-generic64"; options="$options -DB_ENDIAN" ;;
   sparc64-*-*bsd*)     OUT="BSD-sparc64" ;;
   ia64-*-*bsd*)                OUT="BSD-ia64" ;;
+  x86_64-*-dragonfly*)  OUT="BSD-x86_64" ;;
   amd64-*-*bsd*)       OUT="BSD-x86_64" ;;
   *86*-*-*bsd*)                # mimic ld behaviour when it's looking for libc...
                        if [ -L /usr/lib/libc.so ]; then        # [Free|Net]BSD
@@ -853,7 +848,7 @@ case "$GUESSOS" in
   i386-*) options="$options 386" ;;
 esac
 
-for i in aes bf camellia cast des dh dsa ec hmac idea md2 md5 mdc2 rc2 rc4 rc5 ripemd rsa seed sha
+for i in aes aria bf camellia cast des dh dsa ec hmac idea md2 md5 mdc2 rc2 rc4 rc5 ripemd rsa seed sm4 sha
 do
   if [ ! -d $THERE/crypto/$i ]
   then
@@ -903,8 +898,6 @@ OUT="$OUT"
 
 $PERL $THERE/Configure LIST | grep "$OUT" > /dev/null
 if [ $? = "0" ]; then
-  echo Configuring for $OUT
-
   if [ "$VERBOSE" = "true" ]; then
     echo $PERL $THERE/Configure $OUT $options
   fi  
@@ -913,5 +906,11 @@ if [ $? = "0" ]; then
   fi
 else
   echo "This system ($OUT) is not supported. See file INSTALL for details."
+  exit 1
+fi
+
+if [ "$OUT" = "darwin64-x86_64-cc" ]; then
+    echo "WARNING! If you wish to build 32-bit libraries, then you have to"
+    echo "         invoke 'KERNEL_BITS=32 $THERE/config $options'."
 fi
 )