Here are some tuned HPUX configurations.  HPUX 10.X does have threads, and
64-bit long long is implemented via "millicode" routines that handle math on
them.  The millicode should be faster than using the 32-bit C code in openssl.
I assume gcc will handle it correctly, too.

Is there any reason not to make Configure pass through all unrecognized args
like it does -D, -L, -K, etc.?  Otherwise at least pass through +<anything>
to play with HPUX.  Then the separate pic entries shown here can be deleted.

Index: config
===================================================================
RCS file: /CVS/openssl/config,v
retrieving revision 1.12
diff -u -r1.12 config
--- config      1999/04/30 18:22:59     1.12
+++ config      1999/05/03 16:32:52
@@ -82,8 +82,11 @@
     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 @@
   *-*-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: Configure
===================================================================
RCS file: /CVS/openssl/Configure,v
retrieving revision 1.67
diff -u -r1.67 Configure
--- Configure   1999/04/30 18:29:27     1.67
+++ Configure   1999/05/03 16:32:45
@@ -135,14 +135,19 @@
 # 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-cc-pic",  "cc:-DB_ENDIAN -DBN_DIV2W -Ae +ESlit +O4 -z +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-cc-pic",  "cc:-DB_ENDIAN -DBN_DIV2W -Ae +ESlit +O4 -z 
++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
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to