1 #include <openssl/opensslfeatures.h> 2 /* crypto/opensslconf.h.in */ 3 4 #if defined(_MSC_VER) && !defined(__attribute__) 5 #define __attribute__(a) 6 #endif 7 8 /* Generate 80386 code? */ 9 #undef I386_ONLY 10 11 #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) 12 #define OPENSSLDIR "/etc/ssl" 13 #endif 14 15 #undef OPENSSL_UNISTD 16 #define OPENSSL_UNISTD <unistd.h> 17 18 #undef OPENSSL_EXPORT_VAR_AS_FUNCTION 19 20 #if defined(HEADER_IDEA_H) && !defined(IDEA_INT) 21 #define IDEA_INT unsigned int 22 #endif 23 24 #if defined(HEADER_MD2_H) && !defined(MD2_INT) 25 #define MD2_INT unsigned int 26 #endif 27 28 #if defined(HEADER_RC2_H) && !defined(RC2_INT) 29 /* I need to put in a mod for the alpha - eay */ 30 #define RC2_INT unsigned int 31 #endif 32 33 #if defined(HEADER_RC4_H) 34 #if !defined(RC4_INT) 35 /* using int types make the structure larger but make the code faster 36 * on most boxes I have tested - up to %20 faster. */ 37 /* 38 * I don't know what does "most" mean, but declaring "int" is a must on: 39 * - Intel P6 because partial register stalls are very expensive; 40 * - elder Alpha because it lacks byte load/store instructions; 41 */ 42 #define RC4_INT unsigned int 43 #endif 44 #if !defined(RC4_CHUNK) 45 /* 46 * This enables code handling data aligned at natural CPU word 47 * boundary. See crypto/rc4/rc4_enc.c for further details. 48 */ 49 #define RC4_CHUNK unsigned long 50 #endif 51 #endif 52 53 #if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) 54 /* If this is set to 'unsigned int' on a DEC Alpha, this gives about a 55 * %20 speed up (longs are 8 bytes, int's are 4). */ 56 #ifndef DES_LONG 57 #define DES_LONG unsigned int 58 #endif 59 #endif 60 61 #if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) 62 #define CONFIG_HEADER_BN_H 63 #undef BN_LLONG 64 65 /* Should we define BN_DIV2W here? */ 66 67 /* Only one for the following should be defined */ 68 #define SIXTY_FOUR_BIT_LONG 69 #undef SIXTY_FOUR_BIT 70 #undef THIRTY_TWO_BIT 71 #endif 72 73 #if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) 74 #define CONFIG_HEADER_RC4_LOCL_H 75 /* if this is defined data[i] is used instead of *data, this is a %20 76 * speedup on x86 */ 77 #undef RC4_INDEX 78 #endif 79 80 #if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) 81 #define CONFIG_HEADER_BF_LOCL_H 82 #undef BF_PTR 83 #endif /* HEADER_BF_LOCL_H */ 84 85 #if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) 86 #define CONFIG_HEADER_DES_LOCL_H 87 #ifndef DES_DEFAULT_OPTIONS 88 /* the following is tweaked from a config script, that is why it is a 89 * protected undef/define */ 90 #ifndef DES_PTR 91 #undef DES_PTR 92 #endif 93 94 /* This helps C compiler generate the correct code for multiple functional 95 * units. It reduces register dependancies at the expense of 2 more 96 * registers */ 97 #ifndef DES_RISC1 98 #undef DES_RISC1 99 #endif 100 101 #ifndef DES_RISC2 102 #undef DES_RISC2 103 #endif 104 105 #if defined(DES_RISC1) && defined(DES_RISC2) 106 YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! 107 #endif 108 109 /* Unroll the inner loop, this sometimes helps, sometimes hinders. 110 * Very mucy CPU dependant */ 111 #ifndef DES_UNROLL 112 #define DES_UNROLL 113 #endif 114 115 /* These default values were supplied by 116 * Peter Gutman <pgut001@cs.auckland.ac.nz> 117 * They are only used if nothing else has been defined */ 118 #if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) 119 /* Special defines which change the way the code is built depending on the 120 CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find 121 even newer MIPS CPU's, but at the moment one size fits all for 122 optimization options. Older Sparc's work better with only UNROLL, but 123 there's no way to tell at compile time what it is you're running on */ 124 125 #if defined( sun ) /* Newer Sparc's */ 126 # define DES_PTR 127 # define DES_RISC1 128 # define DES_UNROLL 129 #elif defined( __ultrix ) /* Older MIPS */ 130 # define DES_PTR 131 # define DES_RISC2 132 # define DES_UNROLL 133 #elif defined( __osf1__ ) /* Alpha */ 134 # define DES_PTR 135 # define DES_RISC2 136 #elif defined ( _AIX ) /* RS6000 */ 137 /* Unknown */ 138 #elif defined( __hpux ) /* HP-PA */ 139 /* Unknown */ 140 #elif defined( __aux ) /* 68K */ 141 /* Unknown */ 142 #elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ 143 # define DES_UNROLL 144 #elif defined( __sgi ) /* Newer MIPS */ 145 # define DES_PTR 146 # define DES_RISC2 147 # define DES_UNROLL 148 #elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ 149 # define DES_PTR 150 # define DES_RISC1 151 # define DES_UNROLL 152 #endif /* Systems-specific speed defines */ 153 #endif 154 155 #endif /* DES_DEFAULT_OPTIONS */ 156 #endif /* HEADER_DES_LOCL_H */ 157