This commit removes NCR, Tandem, Cray.
Regenerates TABLE.
Removes another missing BEOS fluff.
The last platform remaining on this ticket is WIN16.
Reviewed-by: Richard Levitte <levitte@openssl.org>
MPE/iX
Sinix/ReliantUNIX RM400
DGUX
+ NCR
+ Tandem
+ Cray
[Rich Salz]
*) Experimental support for a new, fast, unbiased prime candidate generator,
"nextstep", "cc:-O -Wall:<libc.h>:(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:::",
"nextstep3.3", "cc:-O3 -Wall:<libc.h>:(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:::",
-# NCR MP-RAS UNIX ver 02.03.01
-"ncr-scde","cc:-O6 -Xa -Hoff=BEHAVED -686 -Hwide -Hiw::(unknown)::-lsocket -lnsl -lc89:${x86_gcc_des} ${x86_gcc_opts}:::",
-
# QNX
"qnx4", "cc:-DL_ENDIAN -DTERMIO::(unknown):::${x86_gcc_des} ${x86_gcc_opts}:",
"QNX6", "gcc:-DTERMIOS::::-lsocket::${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"QNX6-i386", "gcc:-DL_ENDIAN -DTERMIOS -O2 -Wall::::-lsocket:${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-# BeOS
-"beos-x86-r5", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -mcpu=pentium -Wall::-D_REENTRANT:BEOS:-lbe -lnet:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:beos:beos-shared:-fPIC -DPIC:-shared:.so",
-"beos-x86-bone", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -mcpu=pentium -Wall::-D_REENTRANT:BEOS:-lbe -lbind -lsocket:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:beos:beos-shared:-fPIC:-shared:.so",
-
#### SCO/Caldera targets.
#
# Originally we had like unixware-*, unixware-*-pentium, unixware-*-p6, etc.
"aix-cc", "cc:-q32 -O -DB_ENDIAN -qmaxmem=16384 -qro -qroconst::-qthreaded -D_THREAD_SAFE:AIX::BN_LLONG RC4_CHAR:$ppc32_asm:aix32:dlfcn:aix-shared::-q32 -G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X 32",
"aix64-cc", "cc:-q64 -O -DB_ENDIAN -qmaxmem=16384 -qro -qroconst::-qthreaded -D_THREAD_SAFE:AIX::SIXTY_FOUR_BIT_LONG RC4_CHAR:$ppc64_asm:aix64:dlfcn:aix-shared::-q64 -G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X 64",
-#
-# Cray T90 and similar (SDSC)
-# It's Big-endian, but the algorithms work properly when B_ENDIAN is NOT
-# defined. The T90 ints and longs are 8 bytes long, and apparently the
-# B_ENDIAN code assumes 4 byte ints. Fortunately, the non-B_ENDIAN and
-# non L_ENDIAN code aligns the bytes in each word correctly.
-#
-# The BIT_FIELD_LIMITS define is to avoid two fatal compiler errors:
-#'Taking the address of a bit field is not allowed. '
-#'An expression with bit field exists as the operand of "sizeof" '
-# (written by Wayne Schroeder <schroede@SDSC.EDU>)
-#
-# j90 is considered the base machine type for unicos machines,
-# so this configuration is now called "cray-j90" ...
-"cray-j90", "cc: -DBIT_FIELD_LIMITS -DTERMIOS::(unknown):CRAY::SIXTY_FOUR_BIT_LONG DES_INT:::",
-
-#
-# Cray T3E (Research Center Juelich, beckman@acl.lanl.gov)
-#
-# The BIT_FIELD_LIMITS define was written for the C90 (it seems). I added
-# another use. Basically, the problem is that the T3E uses some bit fields
-# for some st_addr stuff, and then sizeof and address-of fails
-# I could not use the ams/alpha.o option because the Cray assembler, 'cam'
-# did not like it.
-"cray-t3e", "cc: -DBIT_FIELD_LIMITS -DTERMIOS::(unknown):CRAY::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT:::",
-
# SIEMENS BS2000/OSD: an EBCDIC-based mainframe
"BS2000-OSD","c89:-O -XLLML -XLLMK -XL -DB_ENDIAN -DTERMIOS -DCHARSET_EBCDIC::(unknown)::-lsocket -lnsl:THIRTY_TWO_BIT DES_PTR DES_UNROLL MD2_CHAR RC4_INDEX RC4_CHAR BF_PTR:::",
"vxworks-simlinux","ccpentium:-B\$(WIND_BASE)/host/\$(WIND_HOST_TYPE)/lib/gcc-lib/ -D_VSB_CONFIG_FILE=\"\$(WIND_BASE)/target/lib/h/config/vsbConfig.h\" -DL_ENDIAN -DCPU=SIMLINUX -DTOOL_FAMILY=gnu -DTOOL=gnu -fno-builtin -fno-defer-pop -DNO_STRINGS_H -I\$(WIND_BASE)/target/h -I\$(WIND_BASE)/target/h/wrn/coreip -DOPENSSL_NO_HW_PADLOCK:::VXWORKS:-r::${no_asm}::::::ranlibpentium:",
"vxworks-mips","ccmips:-mrtp -mips2 -O -G 0 -B\$(WIND_BASE)/host/\$(WIND_HOST_TYPE)/lib/gcc-lib/ -D_VSB_CONFIG_FILE=\"\$(WIND_BASE)/target/lib/h/config/vsbConfig.h\" -DCPU=MIPS32 -msoft-float -mno-branch-likely -DTOOL_FAMILY=gnu -DTOOL=gnu -fno-builtin -fno-defer-pop -DNO_STRINGS_H -I\$(WIND_BASE)/target/usr/h -I\$(WIND_BASE)/target/h/wrn/coreip::-D_REENTRANT:VXWORKS:-Wl,--defsym,__wrs_rtp_base=0xe0000000 -L \$(WIND_BASE)/target/usr/lib/mips/MIPSI32/sfcommon::${mips32_asm}:o32::::::ranlibmips:",
-##### Compaq Non-Stop Kernel (Tandem)
-"tandem-c89","c89:-Ww -D__TANDEM -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1 -D_TANDEM_SOURCE -DB_ENDIAN::(unknown):::THIRTY_TWO_BIT:::",
-
# uClinux
"uClinux-dist","$ENV{'CC'}:\$(CFLAGS)::-D_REENTRANT::\$(LDFLAGS) \$(LDLIBS):BN_LLONG:${no_asm}:$ENV{'LIBSSL_dlfcn'}:linux-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):$ENV{'RANLIB'}::",
"uClinux-dist64","$ENV{'CC'}:\$(CFLAGS)::-D_REENTRANT::\$(LDFLAGS) \$(LDLIBS):SIXTY_FOUR_BIT_LONG:${no_asm}:$ENV{'LIBSSL_dlfcn'}:linux-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):$ENV{'RANLIB'}::",
link_app.gnu:
@ $(DO_GNU_APP); $(LINK_APP)
-DO_BEOS_SO= SHLIB=lib$(LIBNAME).so; \
- SHLIB_SUFFIX=; \
- ALLSYMSFLAGS='-Wl,--whole-archive'; \
- NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
- SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SUFFIX"
-
-link_o.beos:
- @ $(DO_BEOS_SO); $(LINK_SO_O)
-link_a.beos:
- @ $(DO_BEOS_SO); $(LINK_SO_A)
-
link_o.bsd:
@if $(DETECT_GNU_LD); then $(DO_GNU_SO); else \
$(CALC_VERSIONS); \
expr $(PLATFORM) : '.*ia64' > /dev/null && SHLIB=lib$(LIBNAME).so; \
$(SYMLINK_SO)
# The following lines means those specific architectures do no symlinks
-symlink.cygwin symlink.alpha-osf1 symlink.tru64 symlink.tru64-rpath symlink.beos:
+symlink.cygwin symlink.alpha-osf1 symlink.tru64 symlink.tru64-rpath:
# Compatibility targets
link_o.bsd-gcc-shared link_o.linux-shared link_o.gnu-shared: link_o.gnu
$arflags =
$multilib =
-*** beos-x86-bone
-$cc = gcc
-$cflags = -DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -mcpu=pentium -Wall
-$unistd =
-$thread_cflag = -D_REENTRANT
-$sys_id = BEOS
-$lflags = -lbe -lbind -lsocket
-$bn_ops = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
-$cpuid_obj = x86cpuid.o
-$bn_obj = bn-586.o co-586.o x86-mont.o x86-gf2m.o
-$ec_obj =
-$des_obj = des-586.o crypt586.o
-$aes_obj = aes-586.o vpaes-x86.o aesni-x86.o
-$bf_obj = bf-586.o
-$md5_obj = md5-586.o
-$sha1_obj = sha1-586.o sha256-586.o sha512-586.o
-$cast_obj = cast-586.o
-$rc4_obj = rc4-586.o
-$rmd160_obj = rmd-586.o
-$rc5_obj = rc5-586.o
-$wp_obj = wp_block.o wp-mmx.o
-$cmll_obj = cmll-x86.o
-$modes_obj = ghash-x86.o
-$engines_obj = e_padlock-x86.o
-$perlasm_scheme = elf
-$dso_scheme = beos
-$shared_target= beos-shared
-$shared_cflag = -fPIC
-$shared_ldflag = -shared
-$shared_extension = .so
-$ranlib =
-$arflags =
-$multilib =
-
-*** beos-x86-r5
-$cc = gcc
-$cflags = -DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -mcpu=pentium -Wall
-$unistd =
-$thread_cflag = -D_REENTRANT
-$sys_id = BEOS
-$lflags = -lbe -lnet
-$bn_ops = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
-$cpuid_obj = x86cpuid.o
-$bn_obj = bn-586.o co-586.o x86-mont.o x86-gf2m.o
-$ec_obj =
-$des_obj = des-586.o crypt586.o
-$aes_obj = aes-586.o vpaes-x86.o aesni-x86.o
-$bf_obj = bf-586.o
-$md5_obj = md5-586.o
-$sha1_obj = sha1-586.o sha256-586.o sha512-586.o
-$cast_obj = cast-586.o
-$rc4_obj = rc4-586.o
-$rmd160_obj = rmd-586.o
-$rc5_obj = rc5-586.o
-$wp_obj = wp_block.o wp-mmx.o
-$cmll_obj = cmll-x86.o
-$modes_obj = ghash-x86.o
-$engines_obj = e_padlock-x86.o
-$perlasm_scheme = elf
-$dso_scheme = beos
-$shared_target= beos-shared
-$shared_cflag = -fPIC -DPIC
-$shared_ldflag = -shared
-$shared_extension = .so
-$ranlib =
-$arflags =
-$multilib =
-
*** bsdi-elf-gcc
$cc = gcc
$cflags = -DPERL5 -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall
$arflags =
$multilib =
-*** cray-j90
-$cc = cc
-$cflags = -DBIT_FIELD_LIMITS -DTERMIOS
-$unistd =
-$thread_cflag = (unknown)
-$sys_id = CRAY
-$lflags =
-$bn_ops = SIXTY_FOUR_BIT_LONG DES_INT
-$cpuid_obj =
-$bn_obj =
-$ec_obj =
-$des_obj =
-$aes_obj =
-$bf_obj =
-$md5_obj =
-$sha1_obj =
-$cast_obj =
-$rc4_obj =
-$rmd160_obj =
-$rc5_obj =
-$wp_obj =
-$cmll_obj =
-$modes_obj =
-$engines_obj =
-$perlasm_scheme =
-$dso_scheme =
-$shared_target=
-$shared_cflag =
-$shared_ldflag =
-$shared_extension =
-$ranlib =
-$arflags =
-$multilib =
-
-*** cray-t3e
-$cc = cc
-$cflags = -DBIT_FIELD_LIMITS -DTERMIOS
-$unistd =
-$thread_cflag = (unknown)
-$sys_id = CRAY
-$lflags =
-$bn_ops = SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT
-$cpuid_obj =
-$bn_obj =
-$ec_obj =
-$des_obj =
-$aes_obj =
-$bf_obj =
-$md5_obj =
-$sha1_obj =
-$cast_obj =
-$rc4_obj =
-$rmd160_obj =
-$rc5_obj =
-$wp_obj =
-$cmll_obj =
-$modes_obj =
-$engines_obj =
-$perlasm_scheme =
-$dso_scheme =
-$shared_target=
-$shared_cflag =
-$shared_ldflag =
-$shared_extension =
-$ranlib =
-$arflags =
-$multilib =
-
*** darwin-i386-cc
$cc = cc
$cflags = -arch i386 -O3 -fomit-frame-pointer -DL_ENDIAN
$arflags =
$multilib =
-*** ncr-scde
-$cc = cc
-$cflags = -O6 -Xa -Hoff=BEHAVED -686 -Hwide -Hiw
-$unistd =
-$thread_cflag = (unknown)
-$sys_id =
-$lflags = -lsocket -lnsl -lc89
-$bn_ops = DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
-$cpuid_obj =
-$bn_obj =
-$ec_obj =
-$des_obj =
-$aes_obj =
-$bf_obj =
-$md5_obj =
-$sha1_obj =
-$cast_obj =
-$rc4_obj =
-$rmd160_obj =
-$rc5_obj =
-$wp_obj =
-$cmll_obj =
-$modes_obj =
-$engines_obj =
-$perlasm_scheme =
-$dso_scheme =
-$shared_target=
-$shared_cflag =
-$shared_ldflag =
-$shared_extension =
-$ranlib =
-$arflags =
-$multilib =
-
*** netware-clib
$cc = mwccnlm
$cflags =
$arflags =
$multilib = /64
-*** tandem-c89
-$cc = c89
-$cflags = -Ww -D__TANDEM -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1 -D_TANDEM_SOURCE -DB_ENDIAN
-$unistd =
-$thread_cflag = (unknown)
-$sys_id =
-$lflags =
-$bn_ops = THIRTY_TWO_BIT
-$cpuid_obj =
-$bn_obj =
-$ec_obj =
-$des_obj =
-$aes_obj =
-$bf_obj =
-$md5_obj =
-$sha1_obj =
-$cast_obj =
-$rc4_obj =
-$rmd160_obj =
-$rc5_obj =
-$wp_obj =
-$cmll_obj =
-$modes_obj =
-$engines_obj =
-$perlasm_scheme =
-$dso_scheme =
-$shared_target=
-$shared_cflag =
-$shared_ldflag =
-$shared_extension =
-$ranlib =
-$arflags =
-$multilib =
-
*** tru64-alpha-cc
$cc = cc
$cflags = -std1 -tune host -fast -readonly_strings
exit 0
;;
- *"CRAY T3E")
- echo "t3e-cray-unicosmk"; exit 0;
- ;;
-
- *CRAY*)
- echo "j90-cray-unicos"; exit 0;
- ;;
-
- NONSTOP_KERNEL*)
- echo "nsr-tandem-nsk"; exit 0;
- ;;
-
vxworks*)
echo "${MACHINE}-whatever-vxworks"; exit 0;
;;
# these are all covered by the catchall below
*-*-cygwin_pre1.3) OUT="Cygwin-pre1.3" ;;
*-*-cygwin) OUT="Cygwin" ;;
- t3e-cray-unicosmk) OUT="cray-t3e" ;;
- j90-cray-unicos) OUT="cray-j90" ;;
- nsr-tandem-nsk) OUT="tandem-c89" ;;
x86pc-*-qnx6) OUT="QNX6-i386" ;;
*-*-qnx6) OUT="QNX6" ;;
x86-*-android|i?86-*-android) OUT="android-x86" ;;
#if defined(__LP32__)
#define BF_LONG unsigned long
-#elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__)
+#elif defined(__ILP64__)
#define BF_LONG unsigned long
#define BF_LONG_LOG2 3
-/*
- * _CRAY note. I could declare short, but I have no idea what impact
- * does it have on performance on none-T3E machines. I could declare
- * int, but at least on C90 sizeof(int) can be chosen at compile time.
- * So I've chosen long...
- * <appro@fy.chalmers.se>
- */
#else
#define BF_LONG unsigned int
#endif
for (carry=0, i=0; i<nl; i++, rp++)
{
-#ifdef __TANDEM
- {
- long long t1;
- long long t2;
- long long t3;
- t1 = rp[0] * (n0 & 0177777);
- t2 = 037777600000l;
- t2 = n0 & t2;
- t3 = rp[0] & 0177777;
- t2 = (t3 * t2) & BN_MASK2;
- t1 = t1 + t2;
- v=bn_mul_add_words(rp,np,nl,(BN_ULONG) t1);
- }
-#else
v=bn_mul_add_words(rp,np,nl,(rp[0]*n0)&BN_MASK2);
-#endif
v = (v+carry+rp[nl])&BN_MASK2;
carry |= (v != rp[nl]);
carry &= (v <= rp[nl]);
unsigned char cbc_out[40];
DES_LONG cs;
unsigned char cret[8];
-#ifdef _CRAY
- struct {
- int a:32;
- int b:32;
- } lqret[2];
-#else
DES_LONG lqret[4];
-#endif
int num;
char *str;
(unsigned long)cs);
err=1;
}
-#ifdef _CRAY
- if (lqret[0].a != 0x327eba8dL)
- {
- printf("quad_cksum error, out[0] %08lx is not %08lx\n",
- (unsigned long)lqret[0].a,0x327eba8dUL);
- err=1;
- }
- if (lqret[0].b != 0x201a49ccL)
- {
- printf("quad_cksum error, out[1] %08lx is not %08lx\n",
- (unsigned long)lqret[0].b,0x201a49ccUL);
- err=1;
- }
- if (lqret[1].a != 0x70d7a63aL)
- {
- printf("quad_cksum error, out[2] %08lx is not %08lx\n",
- (unsigned long)lqret[1].a,0x70d7a63aUL);
- err=1;
- }
- if (lqret[1].b != 0x501c2c26L)
- {
- printf("quad_cksum error, out[3] %08lx is not %08lx\n",
- (unsigned long)lqret[1].b,0x501c2c26UL);
- err=1;
- }
-#else
if (lqret[0] != 0x327eba8dL)
{
printf("quad_cksum error, out[0] %08lx is not %08lx\n",
(unsigned long)lqret[3],0x501c2c26UL);
err=1;
}
-#endif
#endif
printf("input word alignment test");
int i;
long l;
const unsigned char *cp;
-#ifdef _CRAY
- struct lp_st { int a:32; int b:32; } *lp;
-#else
DES_LONG *lp;
-#endif
if (out_count < 1) out_count=1;
-#ifdef _CRAY
- lp = (struct lp_st *) &(output[0])[0];
-#else
lp = (DES_LONG *) &(output[0])[0];
-#endif
z0=Q_B0((*seed)[0])|Q_B1((*seed)[1])|Q_B2((*seed)[2])|Q_B3((*seed)[3]);
z1=Q_B0((*seed)[4])|Q_B1((*seed)[5])|Q_B2((*seed)[6])|Q_B3((*seed)[7]);
{
/* The MIT library assumes that the checksum is
* composed of 2*out_count 32 bit ints */
-#ifdef _CRAY
- (*lp).a = z0;
- (*lp).b = z1;
- lp++;
-#else
*lp++ = z0;
*lp++ = z1;
-#endif
}
}
return(z0);
#if defined(__LP32__)
#define MD4_LONG unsigned long
-#elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__)
+#elif defined(__ILP64__)
#define MD4_LONG unsigned long
#define MD4_LONG_LOG2 3
-/*
- * _CRAY note. I could declare short, but I have no idea what impact
- * does it have on performance on none-T3E machines. I could declare
- * int, but at least on C90 sizeof(int) can be chosen at compile time.
- * So I've chosen long...
- * <appro@fy.chalmers.se>
- */
#else
#define MD4_LONG unsigned int
#endif
#if defined(__LP32__)
#define MD5_LONG unsigned long
-#elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__)
+#elif defined(__ILP64__)
#define MD5_LONG unsigned long
#define MD5_LONG_LOG2 3
-/*
- * _CRAY note. I could declare short, but I have no idea what impact
- * does it have on performance on none-T3E machines. I could declare
- * int, but at least on C90 sizeof(int) can be chosen at compile time.
- * So I've chosen long...
- * <appro@fy.chalmers.se>
- */
#else
#define MD5_LONG unsigned int
#endif
#if defined(__LP32__)
#define RIPEMD160_LONG unsigned long
-#elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__)
+#elif defined(__ILP64__)
#define RIPEMD160_LONG unsigned long
#define RIPEMD160_LONG_LOG2 3
#else
#if defined(__LP32__)
#define SHA_LONG unsigned long
-#elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__)
+#elif defined(__ILP64__)
#define SHA_LONG unsigned long
#define SHA_LONG_LOG2 3
#else
*
* As you might have noticed 32-bit hash algorithms:
*
- * - permit SHA_LONG to be wider than 32-bit (case on CRAY);
+ * - permit SHA_LONG to be wider than 32-bit
* - optimized versions implement two transform functions: one operating
* on [aligned] data in host byte order and one - on data in input
* stream byte order;
# ifdef OPENSSL_SYSNAME_MACOSX
# define OPENSSL_SYS_MACOSX
# endif
-# if defined(_CRAY) || defined(OPENSSL_SYSNAME_CRAY)
-# define OPENSSL_SYS_CRAY
-# endif
# if defined(_AIX) || defined(OPENSSL_SYSNAME_AIX)
# define OPENSSL_SYS_AIX
# endif
cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
else \
case "$(CFLAGS)" in \
- *DSO_BEOS*) sfx=".so";; \
*DSO_DLFCN*) sfx=`expr "$(SHLIB_EXT)" : '.*\(\.[a-z][a-z]*\)' \| ".so"`;; \
*DSO_DL*) sfx=".sl";; \
*DSO_WIN32*) sfx="eay32.dll"; pfx=;; \
cp cyg$(LIBNAME).dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx.new; \
else \
case "$(CFLAGS)" in \
- *DSO_BEOS*) sfx=".so";; \
*DSO_DLFCN*) sfx=`expr "$(SHLIB_EXT)" : '.*\(\.[a-z][a-z]*\)' \| ".so"`;; \
*DSO_DL*) sfx=".sl";; \
*DSO_WIN32*) sfx="eay32.dll"; pfx=;; \