Update HPUX config, work around HPUX library incompatibility.
authorUlf Möller <ulf@openssl.org>
Tue, 4 May 1999 11:52:26 +0000 (11:52 +0000)
committerUlf Möller <ulf@openssl.org>
Tue, 4 May 1999 11:52:26 +0000 (11:52 +0000)
Submitted by: Anonymous

CHANGES
Configure
config
crypto/asn1/a_gentm.c
crypto/asn1/a_time.c
crypto/asn1/a_utctm.c

diff --git a/CHANGES b/CHANGES
index 68ba547..a418fd8 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -5,6 +5,12 @@
 
  Changes between 0.9.2b and 0.9.3
 
+  *) Accept any -xxx and +xxx compiler options in Configure.
+     [Ulf Möller]
+
+  *) Update HPUX configuration.
+     [Anonymous]
+  
   *) Add missing sk_<type>_unshift() function to safestack.h
      [Ralf S. Engelschall]
 
index b02026e..834e837 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -30,7 +30,7 @@ my $usage="Usage: Configure [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [rsaref] [no
 # no-asm        do not use assembler
 # 386           generate 80386 code
 # no-<cipher>   build without specified algorithm (rsa, idea, rc5, ...)
-# -D, -L, -l, -f, -K: compiler options are passed through 
+# -<xxx> +<xxx> compiler options are passed through 
 # 
 # DES_PTR      use pointer lookup vs arrays in the DES in crypto/des/des_locl.h
 # DES_RISC1    use different DES_ENCRYPT macro that helps reduce register
@@ -136,14 +136,17 @@ my %table=(
 # This is the n64 mode build.
 "irix-n64-cc", "cc:-64 -O2 -use_readonly_const -DTERMIOS:(unknown)::DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT:::",
 
-# HPUX config.  I've been building on HPUX 9, so the options may be
-# different on version 10.
-"hpux-cc",     "cc:-DB_ENDIAN -D_HPUX_SOURCE -Aa -Ae +ESlit +O4 -Wl,-a,archive:(unknown)::DES_PTR DES_UNROLL DES_RISC1:::",
-##"hpux-kr-cc",        "cc:-DB_ENDIAN -DNOCONST -DNOPROTO -D_HPUX_SOURCE:(unknown)::DES_PTR DES_UNROLL:::",
-"hpux-gcc",    "gcc:-DB_ENDIAN -O3:(unknown)::BN_LLONG DES_PTR DES_UNROLL DES_RISC1:::",
-# HPUX from www.globus.org
-"hpux11-32bit-cc","cc:+DA2.0 -DB_ENDIAN -D_HPUX_SOURCE -Aa -Ae +ESlit:(unknown)::DES_PTR DES_UNROLL DES_RISC1:::",
-"hpux11-64bit-cc","cc:+DA2.0W -g -D_HPUX_SOURCE -Aa -Ae +ESlit:(unknown)::SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT :::",
+# HPUX 9.X config.
+# Don't use the bundled cc.  It is broken.  Use HP ANSI C if possible, or gcc.
+"hpux-cc",     "cc:-DB_ENDIAN -DBN_DIV2W -Ae +ESlit +O4 -z:(unknown)::BN_LLONG DES_PTR DES_UNROLL DES_RISC1:::",
+"hpux-gcc",    "gcc:-DB_ENDIAN -DBN_DIV2W -O3:(unknown)::BN_LLONG DES_PTR DES_UNROLL DES_RISC1:::",
+# HPUX 10.X config.  Supports threads.
+"hpux10-cc",   "cc:-DB_ENDIAN -DBN_DIV2W -Ae +ESlit +O4 -z:-D_REENTRANT::BN_LLONG DES_PTR DES_UNROLL DES_RISC1:::",
+"hpux10-gcc",  "gcc:-DB_ENDIAN -DBN_DIV2W -O3:-D_REENTRANT::BN_LLONG DES_PTR DES_UNROLL DES_RISC1:::",
+# HPUX 11.X from www.globus.org.
+# Only works on PA-RISC 2.0 cpus, and not optimized.  Why?
+"hpux11-32bit-cc","cc:+DA2.0 -DB_ENDIAN -D_HPUX_SOURCE -Aa -Ae +ESlit:-D_REENTRANT::DES_PTR DES_UNROLL DES_RISC1:::",
+"hpux11-64bit-cc","cc:+DA2.0W -g -D_HPUX_SOURCE -Aa -Ae +ESlit:-D_REENTRANT::SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT :::",
 
 # Dec Alpha, OSF/1 - the alpha164-cc is the flags for a 21164A with
 # the new compiler
@@ -319,7 +322,7 @@ foreach (@ARGV)
                        {
                        $libs.=$_." ";
                        }
-               elsif (/^-[DfK](.*)$/)
+               elsif (/^-[^-]/ or /^\+/)
                        {
                        $flags.=$_." ";
                        }
diff --git a/config b/config
index 5f3446b..eec90a3 100755 (executable)
--- a/config
+++ b/config
@@ -82,8 +82,11 @@ case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in
     HP-UX:*)
        HPUXVER=`echo ${RELEASE}|sed -e 's/[^.]*.[0B]*//'`
        case "$HPUXVER" in
+           11.*)
+               echo "${MACHINE}-hp-hpux11"; exit 0
+               ;;
            10.*)
-               echo "${MACHINE}-hp-hpux10."; exit 0
+               echo "${MACHINE}-hp-hpux10"; exit 0
                ;;
            *)
                echo "${MACHINE}-hp-hpux"; exit 0
@@ -310,8 +313,8 @@ case "$GUESSOS" in
   *-*-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}'`;;
index c5d378f..be8570c 100644 (file)
@@ -183,9 +183,10 @@ ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_set(ASN1_GENERALIZEDTIME *s,
                return(NULL);
 
 #if defined(THREADS) && !defined(WIN32)
-       ts=(struct tm *)gmtime_r(&t,&data);
+       gmtime_r(&t,&data);
+    ts=&data;
 #else
-       ts=(struct tm *)gmtime(&t);
+       ts=gmtime(&t);
 #endif
        p=(char *)s->data;
        if ((p == NULL) || (s->length < 16))
index 19bfdda..848688b 100644 (file)
@@ -97,9 +97,10 @@ ASN1_TIME *ASN1_TIME_set(ASN1_TIME *s, time_t t)
 #endif
 
 #if defined(THREADS) && !defined(WIN32)
-       ts=(struct tm *)gmtime_r(&t,&data);
+       gmtime_r(&t,&data);
+    ts=&data;
 #else
-       ts=(struct tm *)gmtime(&t);
+       ts=gmtime(&t);
 #endif
        if((ts->tm_year >= 1950) && (ts->tm_year < 2050))
                                        return ASN1_UTCTIME_set(s, t);
index 0fa8ae2..ebc6e38 100644 (file)
@@ -177,9 +177,10 @@ ASN1_UTCTIME *ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t)
                return(NULL);
 
 #if defined(THREADS) && !defined(WIN32)
-       ts=(struct tm *)gmtime_r(&t,&data);
+       gmtime_r(&t,&data);
+       ts=&data;
 #else
-       ts=(struct tm *)gmtime(&t);
+       ts=gmtime(&t);
 #endif
        p=(char *)s->data;
        if ((p == NULL) || (s->length < 14))