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