opensslconf-mips.h revision 194207
1238438Sdteske/* $FreeBSD: head/secure/lib/libcrypto/opensslconf-mips.h 194207 2009-06-14 19:46:18Z simon $ */ 2238438Sdteske/* opensslconf.h */ 3238438Sdteske/* WARNING: Generated automatically from opensslconf.h.in by Configure. */ 4252980Sdteske 5238438Sdteske/* OpenSSL was configured with the following options: */ 6238438Sdteske#ifndef OPENSSL_DOING_MAKEDEPEND 7238438Sdteske 8238438Sdteske/* Disabled by default in OpenSSL 0.9.8. */ 9238438Sdteske#ifndef OPENSSL_NO_CAMELLIA 10238438Sdteske# define OPENSSL_NO_CAMELLIA 11238438Sdteske#endif 12238438Sdteske/* Disabled by default in OpenSSL 0.9.8. */ 13238438Sdteske#ifndef OPENSSL_NO_CMS 14238438Sdteske# define OPENSSL_NO_CMS 15238438Sdteske#endif 16252987Sdteske/* Disabled by default in OpenSSL 0.9.8. */ 17238438Sdteske#ifndef OPENSSL_NO_SEED 18238438Sdteske# define OPENSSL_NO_SEED 19238438Sdteske#endif 20252987Sdteske/* jpake is marked experimental in OpenSSL 0.9.8. */ 21238438Sdteske#ifndef OPENSSL_NO_JPAKE 22238438Sdteske# define OPENSSL_NO_JPAKE 23238438Sdteske#endif 24238438Sdteske/* libgmp is not in the FreeBSD base system. */ 25238438Sdteske#ifndef OPENSSL_NO_GMP 26238438Sdteske# define OPENSSL_NO_GMP 27238438Sdteske#endif 28238438Sdteske/* The Kerberos 5 support is MIT-specific. */ 29238438Sdteske#ifndef OPENSSL_NO_KRB5 30238438Sdteske# define OPENSSL_NO_KRB5 31240684Sdteske#endif 32240684Sdteske 33244675Sdteske#endif /* OPENSSL_DOING_MAKEDEPEND */ 34238438Sdteske#ifndef OPENSSL_THREADS 35240684Sdteske# define OPENSSL_THREADS 36238438Sdteske#endif 37238438Sdteske#ifndef OPENSSL_NO_STATIC_ENGINE 38238438Sdteske# define OPENSSL_NO_STATIC_ENGINE 39238438Sdteske#endif 40238438Sdteske 41238438Sdteske/* The OPENSSL_NO_* macros are also defined as NO_* if the application 42238438Sdteske asks for it. This is a transient feature that is provided for those 43238438Sdteske who haven't had the time to do the appropriate changes in their 44238438Sdteske applications. */ 45238438Sdteske#ifdef OPENSSL_ALGORITHM_DEFINES 46238438Sdteske# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP) 47238438Sdteske# define NO_GMP 48238438Sdteske# endif 49238438Sdteske# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5) 50238438Sdteske# define NO_KRB5 51238438Sdteske# endif 52238438Sdteske# endif 53238438Sdteske#ifdef OPENSSL_OTHER_DEFINES 54238438Sdteske# ifndef NO_ASM 55238438Sdteske# define NO_ASM 56238438Sdteske# endif 57238438Sdteske#endif 58238438Sdteske 59238438Sdteske/* crypto/opensslconf.h.in */ 60238438Sdteske 61238438Sdteske/* Generate 80386 code? */ 62238438Sdteske#undef I386_ONLY 63238438Sdteske 64238438Sdteske#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */ 65238438Sdteske#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) 66238438Sdteske#define ENGINESDIR "/usr/lib/engines" 67238438Sdteske#define OPENSSLDIR "/etc/ssl" 68238438Sdteske#endif 69238438Sdteske#endif 70238438Sdteske 71238438Sdteske#undef OPENSSL_UNISTD 72238438Sdteske#define OPENSSL_UNISTD <unistd.h> 73238438Sdteske 74238438Sdteske#undef OPENSSL_EXPORT_VAR_AS_FUNCTION 75238438Sdteske 76238438Sdteske#if defined(HEADER_IDEA_H) && !defined(IDEA_INT) 77238438Sdteske#define IDEA_INT unsigned int 78238438Sdteske#endif 79238438Sdteske 80238438Sdteske#if defined(HEADER_MD2_H) && !defined(MD2_INT) 81238438Sdteske#define MD2_INT unsigned int 82238438Sdteske#endif 83238438Sdteske 84238438Sdteske#if defined(HEADER_RC2_H) && !defined(RC2_INT) 85238438Sdteske/* I need to put in a mod for the alpha - eay */ 86238438Sdteske#define RC2_INT unsigned int 87238438Sdteske#endif 88238438Sdteske 89238438Sdteske#if defined(HEADER_RC4_H) 90238438Sdteske#if !defined(RC4_INT) 91238438Sdteske/* using int types make the structure larger but make the code faster 92238438Sdteske * on most boxes I have tested - up to %20 faster. */ 93238438Sdteske/* 94238438Sdteske * I don't know what does "most" mean, but declaring "int" is a must on: 95238438Sdteske * - Intel P6 because partial register stalls are very expensive; 96238438Sdteske * - elder Alpha because it lacks byte load/store instructions; 97238438Sdteske */ 98238438Sdteske#define RC4_INT unsigned int 99238438Sdteske#endif 100238438Sdteske#if !defined(RC4_CHUNK) 101238438Sdteske/* 102238438Sdteske * This enables code handling data aligned at natural CPU word 103238438Sdteske * boundary. See crypto/rc4/rc4_enc.c for further details. 104238438Sdteske */ 105238438Sdteske#undef RC4_CHUNK 106238438Sdteske#endif 107238438Sdteske#endif 108238438Sdteske 109238438Sdteske#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) 110238438Sdteske/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a 111238438Sdteske * %20 speed up (longs are 8 bytes, int's are 4). */ 112238438Sdteske#ifndef DES_LONG 113238438Sdteske#define DES_LONG unsigned long 114238438Sdteske#endif 115238438Sdteske#endif 116238438Sdteske 117238438Sdteske#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) 118238438Sdteske#define CONFIG_HEADER_BN_H 119238438Sdteske#define BN_LLONG 120238438Sdteske 121238438Sdteske/* Should we define BN_DIV2W here? */ 122238438Sdteske 123238438Sdteske/* Only one for the following should be defined */ 124238438Sdteske/* The prime number generation stuff may not work when 125238438Sdteske * EIGHT_BIT but I don't care since I've only used this mode 126238438Sdteske * for debuging the bignum libraries */ 127238438Sdteske#undef SIXTY_FOUR_BIT_LONG 128238438Sdteske#undef SIXTY_FOUR_BIT 129238438Sdteske#define THIRTY_TWO_BIT 130238438Sdteske#undef SIXTEEN_BIT 131238438Sdteske#undef EIGHT_BIT 132238438Sdteske#endif 133238438Sdteske 134238438Sdteske#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) 135238438Sdteske#define CONFIG_HEADER_RC4_LOCL_H 136238438Sdteske/* if this is defined data[i] is used instead of *data, this is a %20 137238438Sdteske * speedup on x86 */ 138238438Sdteske#define RC4_INDEX 139238438Sdteske#endif 140238438Sdteske 141238438Sdteske#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) 142238438Sdteske#define CONFIG_HEADER_BF_LOCL_H 143238438Sdteske#undef BF_PTR 144238438Sdteske#endif /* HEADER_BF_LOCL_H */ 145238438Sdteske 146238438Sdteske#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) 147238438Sdteske#define CONFIG_HEADER_DES_LOCL_H 148238438Sdteske#ifndef DES_DEFAULT_OPTIONS 149238438Sdteske/* the following is tweaked from a config script, that is why it is a 150238438Sdteske * protected undef/define */ 151238438Sdteske#ifndef DES_PTR 152238438Sdteske#define DES_PTR 153238438Sdteske#endif 154238438Sdteske 155238438Sdteske/* This helps C compiler generate the correct code for multiple functional 156238438Sdteske * units. It reduces register dependancies at the expense of 2 more 157238438Sdteske * registers */ 158238438Sdteske#ifndef DES_RISC1 159238438Sdteske#define DES_RISC1 160238438Sdteske#endif 161238438Sdteske 162238438Sdteske#ifndef DES_RISC2 163238438Sdteske#undef DES_RISC2 164238438Sdteske#endif 165238438Sdteske 166238438Sdteske#if defined(DES_RISC1) && defined(DES_RISC2) 167238438SdteskeYOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! 168238438Sdteske#endif 169238438Sdteske 170238438Sdteske/* Unroll the inner loop, this sometimes helps, sometimes hinders. 171238438Sdteske * Very mucy CPU dependant */ 172238438Sdteske#ifndef DES_UNROLL 173238438Sdteske#define DES_UNROLL 174238438Sdteske#endif 175238438Sdteske 176238438Sdteske/* These default values were supplied by 177238438Sdteske * Peter Gutman <pgut001@cs.auckland.ac.nz> 178238438Sdteske * They are only used if nothing else has been defined */ 179238438Sdteske#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) 180238438Sdteske/* Special defines which change the way the code is built depending on the 181238438Sdteske CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find 182238438Sdteske even newer MIPS CPU's, but at the moment one size fits all for 183238438Sdteske optimization options. Older Sparc's work better with only UNROLL, but 184238438Sdteske there's no way to tell at compile time what it is you're running on */ 185238438Sdteske 186238438Sdteske#if defined( sun ) /* Newer Sparc's */ 187238438Sdteske# define DES_PTR 188238438Sdteske# define DES_RISC1 189238438Sdteske# define DES_UNROLL 190238438Sdteske#elif defined( __ultrix ) /* Older MIPS */ 191238438Sdteske# define DES_PTR 192238438Sdteske# define DES_RISC2 193238438Sdteske# define DES_UNROLL 194238438Sdteske#elif defined( __osf1__ ) /* Alpha */ 195238438Sdteske# define DES_PTR 196238438Sdteske# define DES_RISC2 197238438Sdteske#elif defined ( _AIX ) /* RS6000 */ 198244675Sdteske /* Unknown */ 199244675Sdteske#elif defined( __hpux ) /* HP-PA */ 200244675Sdteske /* Unknown */ 201244675Sdteske#elif defined( __aux ) /* 68K */ 202238438Sdteske /* Unknown */ 203#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ 204# define DES_UNROLL 205#elif defined( __sgi ) /* Newer MIPS */ 206# define DES_PTR 207# define DES_RISC2 208# define DES_UNROLL 209#elif defined( i386 ) /* x86 boxes, should be gcc */ 210# define DES_PTR 211# define DES_RISC1 212# define DES_UNROLL 213#endif /* Systems-specific speed defines */ 214#endif 215 216#endif /* DES_DEFAULT_OPTIONS */ 217#endif /* HEADER_DES_LOCL_H */ 218