|
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 /* The prime number generation stuff may not work when |
|
67 * EIGHT_BIT but I don't care since I've only used this mode |
|
68 * for debuging the bignum libraries */ |
|
69 #undef SIXTY_FOUR_BIT_LONG |
|
70 #undef SIXTY_FOUR_BIT |
|
71 #define THIRTY_TWO_BIT |
|
72 #undef SIXTEEN_BIT |
|
73 #undef EIGHT_BIT |
|
74 #endif |
|
75 |
|
76 #if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) |
|
77 #define CONFIG_HEADER_RC4_LOCL_H |
|
78 /* if this is defined data[i] is used instead of *data, this is a %20 |
|
79 * speedup on x86 */ |
|
80 #undef RC4_INDEX |
|
81 #endif |
|
82 |
|
83 #if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) |
|
84 #define CONFIG_HEADER_BF_LOCL_H |
|
85 #undef BF_PTR |
|
86 #endif /* HEADER_BF_LOCL_H */ |
|
87 |
|
88 #if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) |
|
89 #define CONFIG_HEADER_DES_LOCL_H |
|
90 #ifndef DES_DEFAULT_OPTIONS |
|
91 /* the following is tweaked from a config script, that is why it is a |
|
92 * protected undef/define */ |
|
93 #ifndef DES_PTR |
|
94 #undef DES_PTR |
|
95 #endif |
|
96 |
|
97 /* This helps C compiler generate the correct code for multiple functional |
|
98 * units. It reduces register dependancies at the expense of 2 more |
|
99 * registers */ |
|
100 #ifndef DES_RISC1 |
|
101 #undef DES_RISC1 |
|
102 #endif |
|
103 |
|
104 #ifndef DES_RISC2 |
|
105 #undef DES_RISC2 |
|
106 #endif |
|
107 |
|
108 #if defined(DES_RISC1) && defined(DES_RISC2) |
|
109 YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! |
|
110 #endif |
|
111 |
|
112 /* Unroll the inner loop, this sometimes helps, sometimes hinders. |
|
113 * Very mucy CPU dependant */ |
|
114 #ifndef DES_UNROLL |
|
115 #undef DES_UNROLL |
|
116 #endif |
|
117 |
|
118 /* These default values were supplied by |
|
119 * Peter Gutman <pgut001@cs.auckland.ac.nz> |
|
120 * They are only used if nothing else has been defined */ |
|
121 #if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) |
|
122 /* Special defines which change the way the code is built depending on the |
|
123 CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find |
|
124 even newer MIPS CPU's, but at the moment one size fits all for |
|
125 optimization options. Older Sparc's work better with only UNROLL, but |
|
126 there's no way to tell at compile time what it is you're running on */ |
|
127 |
|
128 #if defined( sun ) /* Newer Sparc's */ |
|
129 # define DES_PTR |
|
130 # define DES_RISC1 |
|
131 # define DES_UNROLL |
|
132 #elif defined( __ultrix ) /* Older MIPS */ |
|
133 # define DES_PTR |
|
134 # define DES_RISC2 |
|
135 # define DES_UNROLL |
|
136 #elif defined( __osf1__ ) /* Alpha */ |
|
137 # define DES_PTR |
|
138 # define DES_RISC2 |
|
139 #elif defined ( _AIX ) /* RS6000 */ |
|
140 /* Unknown */ |
|
141 #elif defined( __hpux ) /* HP-PA */ |
|
142 /* Unknown */ |
|
143 #elif defined( __aux ) /* 68K */ |
|
144 /* Unknown */ |
|
145 #elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ |
|
146 # define DES_UNROLL |
|
147 #elif defined( __sgi ) /* Newer MIPS */ |
|
148 # define DES_PTR |
|
149 # define DES_RISC2 |
|
150 # define DES_UNROLL |
|
151 #elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ |
|
152 # define DES_PTR |
|
153 # define DES_RISC1 |
|
154 # define DES_UNROLL |
|
155 #endif /* Systems-specific speed defines */ |
|
156 #endif |
|
157 |
|
158 #endif /* DES_DEFAULT_OPTIONS */ |
|
159 #endif /* HEADER_DES_LOCL_H */ |