1238405Sjkim/* $FreeBSD: releng/10.3/secure/lib/libcrypto/opensslconf-x86.h 296371 2016-03-04 00:40:15Z jkim $ */
2238405Sjkim/* opensslconf.h */
3238405Sjkim/* WARNING: Generated automatically from opensslconf.h.in by Configure. */
4238405Sjkim
5280304Sjkim#ifdef  __cplusplus
6280304Sjkimextern "C" {
7280304Sjkim#endif
8238405Sjkim/* OpenSSL was configured with the following options: */
9238405Sjkim#ifndef OPENSSL_DOING_MAKEDEPEND
10238405Sjkim
11238405Sjkim
12238405Sjkim#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128
13238405Sjkim# define OPENSSL_NO_EC_NISTP_64_GCC_128
14238405Sjkim#endif
15238405Sjkim#ifndef OPENSSL_NO_GMP
16238405Sjkim# define OPENSSL_NO_GMP
17238405Sjkim#endif
18238405Sjkim#ifndef OPENSSL_NO_JPAKE
19238405Sjkim# define OPENSSL_NO_JPAKE
20238405Sjkim#endif
21238405Sjkim#ifndef OPENSSL_NO_KRB5
22238405Sjkim# define OPENSSL_NO_KRB5
23238405Sjkim#endif
24238405Sjkim#ifndef OPENSSL_NO_MD2
25238405Sjkim# define OPENSSL_NO_MD2
26238405Sjkim#endif
27238405Sjkim#ifndef OPENSSL_NO_SCTP
28238405Sjkim# define OPENSSL_NO_SCTP
29238405Sjkim#endif
30238405Sjkim#ifndef OPENSSL_NO_STORE
31238405Sjkim# define OPENSSL_NO_STORE
32238405Sjkim#endif
33280304Sjkim#ifndef OPENSSL_NO_UNIT_TEST
34280304Sjkim# define OPENSSL_NO_UNIT_TEST
35280304Sjkim#endif
36296317Sdelphij#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
37296317Sdelphij# define OPENSSL_NO_WEAK_SSL_CIPHERS
38296317Sdelphij#endif
39238405Sjkim
40238405Sjkim#endif /* OPENSSL_DOING_MAKEDEPEND */
41238405Sjkim
42238405Sjkim#ifndef OPENSSL_THREADS
43238405Sjkim# define OPENSSL_THREADS
44238405Sjkim#endif
45238405Sjkim#ifndef OPENSSL_NO_STATIC_ENGINE
46238405Sjkim# define OPENSSL_NO_STATIC_ENGINE
47238405Sjkim#endif
48238405Sjkim
49238405Sjkim/* The OPENSSL_NO_* macros are also defined as NO_* if the application
50238405Sjkim   asks for it.  This is a transient feature that is provided for those
51238405Sjkim   who haven't had the time to do the appropriate changes in their
52238405Sjkim   applications.  */
53238405Sjkim#ifdef OPENSSL_ALGORITHM_DEFINES
54238405Sjkim# if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128)
55238405Sjkim#  define NO_EC_NISTP_64_GCC_128
56238405Sjkim# endif
57238405Sjkim# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP)
58238405Sjkim#  define NO_GMP
59238405Sjkim# endif
60238405Sjkim# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE)
61238405Sjkim#  define NO_JPAKE
62238405Sjkim# endif
63238405Sjkim# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5)
64238405Sjkim#  define NO_KRB5
65238405Sjkim# endif
66238405Sjkim# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2)
67238405Sjkim#  define NO_MD2
68238405Sjkim# endif
69238405Sjkim# if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP)
70238405Sjkim#  define NO_SCTP
71238405Sjkim# endif
72238405Sjkim# if defined(OPENSSL_NO_STORE) && !defined(NO_STORE)
73238405Sjkim#  define NO_STORE
74238405Sjkim# endif
75280304Sjkim# if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST)
76280304Sjkim#  define NO_UNIT_TEST
77280304Sjkim# endif
78296317Sdelphij# if defined(OPENSSL_NO_WEAK_SSL_CIPHERS) && !defined(NO_WEAK_SSL_CIPHERS)
79296317Sdelphij#  define NO_WEAK_SSL_CIPHERS
80296317Sdelphij# endif
81238405Sjkim#endif
82238405Sjkim
83238405Sjkim#define OPENSSL_CPUID_OBJ
84238405Sjkim
85238405Sjkim/* crypto/opensslconf.h.in */
86238405Sjkim
87238405Sjkim/* Generate 80386 code? */
88238405Sjkim#undef I386_ONLY
89238405Sjkim
90238405Sjkim#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
91238405Sjkim#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
92238405Sjkim#define ENGINESDIR "/usr/lib/engines"
93238405Sjkim#define OPENSSLDIR "/etc/ssl"
94238405Sjkim#endif
95238405Sjkim#endif
96238405Sjkim
97238405Sjkim#undef OPENSSL_UNISTD
98238405Sjkim#define OPENSSL_UNISTD <unistd.h>
99238405Sjkim
100238405Sjkim#undef OPENSSL_EXPORT_VAR_AS_FUNCTION
101238405Sjkim
102238405Sjkim#if defined(HEADER_IDEA_H) && !defined(IDEA_INT)
103238405Sjkim#define IDEA_INT unsigned int
104238405Sjkim#endif
105238405Sjkim
106238405Sjkim#if defined(HEADER_MD2_H) && !defined(MD2_INT)
107238405Sjkim#define MD2_INT unsigned int
108238405Sjkim#endif
109238405Sjkim
110238405Sjkim#if defined(HEADER_RC2_H) && !defined(RC2_INT)
111238405Sjkim/* I need to put in a mod for the alpha - eay */
112238405Sjkim#define RC2_INT unsigned int
113238405Sjkim#endif
114238405Sjkim
115238405Sjkim#if defined(HEADER_RC4_H)
116238405Sjkim#if !defined(RC4_INT)
117238405Sjkim/* using int types make the structure larger but make the code faster
118238405Sjkim * on most boxes I have tested - up to %20 faster. */
119238405Sjkim/*
120238405Sjkim * I don't know what does "most" mean, but declaring "int" is a must on:
121238405Sjkim * - Intel P6 because partial register stalls are very expensive;
122238405Sjkim * - elder Alpha because it lacks byte load/store instructions;
123238405Sjkim */
124238405Sjkim#define RC4_INT unsigned int
125238405Sjkim#endif
126238405Sjkim#if !defined(RC4_CHUNK)
127238405Sjkim/*
128238405Sjkim * This enables code handling data aligned at natural CPU word
129238405Sjkim * boundary. See crypto/rc4/rc4_enc.c for further details.
130238405Sjkim */
131238405Sjkim#ifdef __LP64__
132238405Sjkim#define RC4_CHUNK unsigned long
133238405Sjkim#else
134238405Sjkim#undef RC4_CHUNK
135238405Sjkim#endif
136238405Sjkim#endif
137238405Sjkim#endif
138238405Sjkim
139238405Sjkim#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG)
140238405Sjkim/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
141238405Sjkim * %20 speed up (longs are 8 bytes, int's are 4). */
142238405Sjkim#ifndef DES_LONG
143238405Sjkim#ifdef __LP64__
144238405Sjkim#define DES_LONG unsigned int
145238405Sjkim#else
146238405Sjkim#define DES_LONG unsigned long
147238405Sjkim#endif
148238405Sjkim#endif
149238405Sjkim#endif
150238405Sjkim
151238405Sjkim#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)
152238405Sjkim#define CONFIG_HEADER_BN_H
153238405Sjkim#ifdef __LP64__
154238405Sjkim#undef BN_LLONG
155238405Sjkim#else
156238405Sjkim#define BN_LLONG
157238405Sjkim#endif
158238405Sjkim
159238405Sjkim/* Should we define BN_DIV2W here? */
160238405Sjkim
161238405Sjkim/* Only one for the following should be defined */
162238405Sjkim#ifdef __LP64__
163238405Sjkim#define SIXTY_FOUR_BIT_LONG
164238405Sjkim#undef SIXTY_FOUR_BIT
165238405Sjkim#undef THIRTY_TWO_BIT
166238405Sjkim#else
167238405Sjkim#undef SIXTY_FOUR_BIT_LONG
168238405Sjkim#undef SIXTY_FOUR_BIT
169238405Sjkim#define THIRTY_TWO_BIT
170238405Sjkim#endif
171238405Sjkim#endif
172238405Sjkim
173238405Sjkim#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H)
174238405Sjkim#define CONFIG_HEADER_RC4_LOCL_H
175238405Sjkim/* if this is defined data[i] is used instead of *data, this is a %20
176238405Sjkim * speedup on x86 */
177238405Sjkim#ifdef __LP64__
178238405Sjkim#undef RC4_INDEX
179238405Sjkim#else
180238405Sjkim#define RC4_INDEX
181238405Sjkim#endif
182238405Sjkim#endif
183238405Sjkim
184238405Sjkim#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H)
185238405Sjkim#define CONFIG_HEADER_BF_LOCL_H
186238405Sjkim#undef BF_PTR
187238405Sjkim#endif /* HEADER_BF_LOCL_H */
188238405Sjkim
189238405Sjkim#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H)
190238405Sjkim#define CONFIG_HEADER_DES_LOCL_H
191238405Sjkim#ifndef DES_DEFAULT_OPTIONS
192238405Sjkim/* the following is tweaked from a config script, that is why it is a
193238405Sjkim * protected undef/define */
194238405Sjkim#ifndef DES_PTR
195238405Sjkim#ifdef __LP64__
196238405Sjkim#undef DES_PTR
197238405Sjkim#else
198238405Sjkim#define DES_PTR
199238405Sjkim#endif
200238405Sjkim#endif
201238405Sjkim
202238405Sjkim/* This helps C compiler generate the correct code for multiple functional
203238405Sjkim * units.  It reduces register dependancies at the expense of 2 more
204238405Sjkim * registers */
205238405Sjkim#ifndef DES_RISC1
206238405Sjkim#ifdef __LP64__
207238405Sjkim#undef DES_RISC1
208238405Sjkim#else
209238405Sjkim#define DES_RISC1
210238405Sjkim#endif
211238405Sjkim#endif
212238405Sjkim
213238405Sjkim#ifndef DES_RISC2
214238405Sjkim#undef DES_RISC2
215238405Sjkim#endif
216238405Sjkim
217238405Sjkim#if defined(DES_RISC1) && defined(DES_RISC2)
218238405SjkimYOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!!
219238405Sjkim#endif
220238405Sjkim
221238405Sjkim/* Unroll the inner loop, this sometimes helps, sometimes hinders.
222238405Sjkim * Very mucy CPU dependant */
223238405Sjkim#ifndef DES_UNROLL
224238405Sjkim#define DES_UNROLL
225238405Sjkim#endif
226238405Sjkim
227238405Sjkim/* These default values were supplied by
228238405Sjkim * Peter Gutman <pgut001@cs.auckland.ac.nz>
229238405Sjkim * They are only used if nothing else has been defined */
230238405Sjkim#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL)
231238405Sjkim/* Special defines which change the way the code is built depending on the
232238405Sjkim   CPU and OS.  For SGI machines you can use _MIPS_SZLONG (32 or 64) to find
233238405Sjkim   even newer MIPS CPU's, but at the moment one size fits all for
234238405Sjkim   optimization options.  Older Sparc's work better with only UNROLL, but
235238405Sjkim   there's no way to tell at compile time what it is you're running on */
236238405Sjkim
237238405Sjkim#if defined( sun )		/* Newer Sparc's */
238238405Sjkim#  define DES_PTR
239238405Sjkim#  define DES_RISC1
240238405Sjkim#  define DES_UNROLL
241238405Sjkim#elif defined( __ultrix )	/* Older MIPS */
242238405Sjkim#  define DES_PTR
243238405Sjkim#  define DES_RISC2
244238405Sjkim#  define DES_UNROLL
245238405Sjkim#elif defined( __osf1__ )	/* Alpha */
246238405Sjkim#  define DES_PTR
247238405Sjkim#  define DES_RISC2
248238405Sjkim#elif defined ( _AIX )		/* RS6000 */
249238405Sjkim  /* Unknown */
250238405Sjkim#elif defined( __hpux )		/* HP-PA */
251238405Sjkim  /* Unknown */
252238405Sjkim#elif defined( __aux )		/* 68K */
253238405Sjkim  /* Unknown */
254238405Sjkim#elif defined( __dgux )		/* 88K (but P6 in latest boxes) */
255238405Sjkim#  define DES_UNROLL
256238405Sjkim#elif defined( __sgi )		/* Newer MIPS */
257238405Sjkim#  define DES_PTR
258238405Sjkim#  define DES_RISC2
259238405Sjkim#  define DES_UNROLL
260238405Sjkim#elif defined(i386) || defined(__i386__)	/* x86 boxes, should be gcc */
261238405Sjkim#  define DES_PTR
262238405Sjkim#  define DES_RISC1
263238405Sjkim#  define DES_UNROLL
264238405Sjkim#endif /* Systems-specific speed defines */
265238405Sjkim#endif
266238405Sjkim
267238405Sjkim#endif /* DES_DEFAULT_OPTIONS */
268238405Sjkim#endif /* HEADER_DES_LOCL_H */
269280304Sjkim#ifdef  __cplusplus
270280304Sjkim}
271280304Sjkim#endif
272