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