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