Respect the fact that most interactive shells don't restore stty settings
authorAndy Polyakov <appro@openssl.org>
Wed, 26 Jan 2005 19:58:15 +0000 (19:58 +0000)
committerAndy Polyakov <appro@openssl.org>
Wed, 26 Jan 2005 19:58:15 +0000 (19:58 +0000)
and make it work in non-interactive mode...

config

diff --git a/config b/config
index ff1268f..a4a5bd0 100755 (executable)
--- a/config
+++ b/config
@@ -503,9 +503,9 @@ case "$GUESSOS" in
   mips4-sgi-irix64)
        echo "WARNING! If you wish to build 64-bit library, then you have to"
        echo "         invoke './Configure irix64-mips4-$CC' *manually*."
-       if [ "$TEST" = "false" ]; then
+       if [ "$TEST" = "false" -a -t 1 ]; then
          echo "         You have about 5 seconds to press Ctrl-C to abort."
-         (stty -icanon min 0 time 50; read waste) < /dev/tty
+         (trap "stty `stty -g`" 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}
@@ -536,9 +536,9 @@ case "$GUESSOS" in
   ppc64-*-linux2)
        echo "WARNING! If you wish to build 64-bit library, then you have to"
        echo "         invoke './Configure linux-ppc64' *manually*."
-       if [ "$TEST" = "false" ]; then
+       if [ "$TEST" = "false" -a -t 1 ]; then
            echo "         You have about 5 seconds to press Ctrl-C to abort."
-           (stty -icanon min 0 time 50; read waste) < /dev/tty
+           (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
        fi
        OUT="linux-ppc"
        ;;
@@ -548,9 +548,9 @@ case "$GUESSOS" in
        echo "WARNING! If you *know* that your GNU C supports 64-bit/V9 ABI"
        echo "         and wish to build 64-bit library, then you have to"
        echo "         invoke './Configure linux64-sparcv9' *manually*."
-       if [ "$TEST" = "false" ]; then
+       if [ "$TEST" = "false" -a -t 1 ]; then
          echo "          You have about 5 seconds to press Ctrl-C to abort."
-         (stty -icanon min 0 time 50; read waste) < /dev/tty
+         (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
        fi
        OUT="linux-sparcv9" ;;
   sparc-*-linux2)
@@ -608,9 +608,9 @@ case "$GUESSOS" in
            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*."
-               if [ "$TEST" = "false" ]; then
+               if [ "$TEST" = "false" -a -t 1 ]; then
                  echo "         You have about 5 seconds to press Ctrl-C to abort."
-                 (stty -icanon min 0 time 50; read waste) < /dev/tty
+                 (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
                fi
            elif [ "$CC" = "gcc" -a "$GCC_ARCH" = "-m64" ]; then
                # $GCC_ARCH denotes default ABI chosen by compiler driver
@@ -620,17 +620,17 @@ case "$GUESSOS" in
                OUT="solaris64-sparcv9-gcc"
                echo "WARNING! If you wish to build 32-bit library, then you have to"
                echo "         invoke './Configure solaris-sparcv9-gcc' *manually*."
-               if [ "$TEST" = "false" ]; then
+               if [ "$TEST" = "false" -a -t 1 ]; then
                  echo "         You have about 5 seconds to press Ctrl-C to abort."
-                 (stty -icanon min 0 time 50; read waste) < /dev/tty
+                 (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
                fi
            elif [ "$GCC_ARCH" = "-m32" ]; then
                echo "NOTICE! If you *know* that your GNU C supports 64-bit/V9 ABI"
                echo "        and wish to build 64-bit library, then you have to"
                echo "        invoke './Configure solaris64-sparcv9-gcc' *manually*."
-               if [ "$TEST" = "false" ]; then
+               if [ "$TEST" = "false" -a -t 1 ]; then
                  echo "         You have about 5 seconds to press Ctrl-C to abort."
-                 (stty -icanon min 0 time 50; read waste) < /dev/tty
+                 (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
                fi
            fi
        fi
@@ -689,9 +689,9 @@ case "$GUESSOS" in
             echo "WARNING! 64-bit ABI is the default configured ABI on HP-UXi."
             echo "         If you wish to build 32-bit library, the you have to"
             echo "         invoke './Configure hpux-ia64-cc' *manually*."
-            if [ "$TEST" = "false" ]; then
+            if [ "$TEST" = "false" -a -t 1 ]; then
                echo "         You have about 5 seconds to press Ctrl-C to abort."
-               (stty -icanon min 0 time 50; read waste) < /dev/tty
+               (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
             fi
             OUT="hpux64-ia64-cc"
        elif [ $CPU_VERSION -ge 532 ]; then     # PA-RISC 2.x CPU
@@ -699,9 +699,9 @@ case "$GUESSOS" in
             if [ $KERNEL_BITS -eq 64 -a "$CC" = "cc" ]; then
                echo "WARNING! If you wish to build 64-bit library then you have to"
                echo "         invoke './Configure hpux64-parisc2-cc' *manually*."
-               if [ "$TEST" = "false" ]; then
+               if [ "$TEST" = "false" -a -t 1 ]; then
                  echo "         You have about 5 seconds to press Ctrl-C to abort."
-                 (stty -icanon min 0 time 50; read waste) < /dev/tty
+                 (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
                fi
             fi
        elif [ $CPU_VERSION -ge 528 ]; then     # PA-RISC 1.1+ CPU
@@ -727,9 +727,9 @@ case "$GUESSOS" in
            if [ $KERNEL_BITS -eq 64 ]; then
                echo "WARNING! If you wish to build 64-bit kit, then you have to"
                echo "         invoke './Configure aix64-cc' *manually*."
-               if [ "$TEST" = "false" ]; then
+               if [ "$TEST" = "false" -a -t 1 ]; then
                    echo "         You have ~5 seconds to press Ctrl-C to abort."
-                   (/bin/stty -icanon min 0 time 50; read waste) < /dev/tty
+                   (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
                fi
            fi
        fi