always include <string.h> (we do this in various other header files,
[openssl.git] / config
diff --git a/config b/config
index df973ed..972cdb7 100755 (executable)
--- a/config
+++ b/config
@@ -390,18 +390,30 @@ exit 0
 
 # figure out if gcc is available and if so we use it otherwise
 # we fallback to whatever cc does on the system
-GCCVER=`(gcc --version) 2>/dev/null`
+GCCVER=`(gcc -dumpversion) 2>/dev/null`
 if [ "$GCCVER" != "" ]; then
   CC=gcc
-  # then strip off whatever prefix Cygnus prepends the number with...
-  GCCVER=`echo $GCCVER | sed 's/^[a-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/'`
 else
   CC=cc
 fi
 GCCVER=${GCCVER:-0}
-
+if [ "$SYSTEM" = "HP-UX" ];then
+  # By default gcc is a ILP32 compiler (with long long == 64).
+  GCC_BITS="32"
+  if [ $GCCVER -ge 30 ]; then
+    # PA64 support only came in with gcc 3.0.x.
+    # We look for the preprocessor symbol __LP64__ indicating
+    # 64bit bit long and pointer.  sizeof(int) == 32 on HPUX64.
+    if gcc -v -E -x c /dev/null 2>&1 | grep __LP64__ > /dev/null; then
+      GCC_BITS="64"
+    fi
+  fi
+fi
 if [ "$SYSTEM" = "SunOS" ]; then
   if [ $GCCVER -ge 30 ]; then
     # 64-bit ABI isn't officially supported in gcc 3.0, but it appears
@@ -517,6 +529,10 @@ EOF
        ${CC} -o dummy dummy.c && OUT=`./dummy ${MACHINE}`
        rm dummy dummy.c
        ;;
+  ppc64-*-linux2)
+       #Use the standard target for PPC architecture until we create a
+       #special one for the 64bit architecture.
+       OUT="linux-ppc" ;;
   ppc-*-linux2) OUT="linux-ppc" ;;
   m68k-*-linux*) OUT="linux-m68k" ;;
   ia64-*-linux?) OUT="linux-ia64" ;;
@@ -655,7 +671,16 @@ EOF
   RM*-siemens-sysv4) OUT="ReliantUNIX" ;;
   *-siemens-sysv4) OUT="SINIX" ;;
   *-hpux1*)
-       OUT="hpux-parisc-$CC"
+       if [ $CC = "gcc" ];
+       then
+         if [ $GCC_BITS = "64" ]; then
+           OUT="hpux64-parisc-gcc"
+         else
+           OUT="hpux-parisc-gcc"
+         fi
+       else
+         OUT="hpux-parisc-$CC"
+       fi
        KERNEL_BITS=`(getconf KERNEL_BITS) 2>/dev/null`
        KERNEL_BITS=${KERNEL_BITS:-32}
        CPU_VERSION=`(getconf CPU_VERSION) 2>/dev/null`