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