1294823Sbr/* $FreeBSD$ */
2294823Sbr/* opensslconf.h */
3294823Sbr/* RISCVTODO: generate from opensslconf.h.in by Configure. */
4294823Sbr
5294823Sbr#ifdef  __cplusplus
6294823Sbrextern "C" {
7294823Sbr#endif
8294823Sbr/* OpenSSL was configured with the following options: */
9294823Sbr#ifndef OPENSSL_DOING_MAKEDEPEND
10294823Sbr
11294823Sbr
12294823Sbr#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128
13294823Sbr# define OPENSSL_NO_EC_NISTP_64_GCC_128
14294823Sbr#endif
15294823Sbr#ifndef OPENSSL_NO_GMP
16294823Sbr# define OPENSSL_NO_GMP
17294823Sbr#endif
18294823Sbr#ifndef OPENSSL_NO_JPAKE
19294823Sbr# define OPENSSL_NO_JPAKE
20294823Sbr#endif
21294823Sbr#ifndef OPENSSL_NO_KRB5
22294823Sbr# define OPENSSL_NO_KRB5
23294823Sbr#endif
24294823Sbr#ifndef OPENSSL_NO_LIBUNBOUND
25294823Sbr# define OPENSSL_NO_LIBUNBOUND
26294823Sbr#endif
27294823Sbr#ifndef OPENSSL_NO_MD2
28294823Sbr# define OPENSSL_NO_MD2
29294823Sbr#endif
30294823Sbr#ifndef OPENSSL_NO_SCTP
31294823Sbr# define OPENSSL_NO_SCTP
32294823Sbr#endif
33294823Sbr#ifndef OPENSSL_NO_SSL_TRACE
34294823Sbr# define OPENSSL_NO_SSL_TRACE
35294823Sbr#endif
36294823Sbr#ifndef OPENSSL_NO_SSL2
37294823Sbr# define OPENSSL_NO_SSL2
38294823Sbr#endif
39294823Sbr#ifndef OPENSSL_NO_STORE
40294823Sbr# define OPENSSL_NO_STORE
41294823Sbr#endif
42294823Sbr#ifndef OPENSSL_NO_UNIT_TEST
43294823Sbr# define OPENSSL_NO_UNIT_TEST
44294823Sbr#endif
45296279Sjkim#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
46296279Sjkim# define OPENSSL_NO_WEAK_SSL_CIPHERS
47296279Sjkim#endif
48294823Sbr
49294823Sbr#endif /* OPENSSL_DOING_MAKEDEPEND */
50294823Sbr
51294823Sbr#ifndef OPENSSL_THREADS
52294823Sbr# define OPENSSL_THREADS
53294823Sbr#endif
54304320Sjkim%%NO_ASM%%#ifndef OPENSSL_NO_ASM
55304320Sjkim%%NO_ASM%%# define OPENSSL_NO_ASM
56304320Sjkim%%NO_ASM%%#endif
57294823Sbr#ifndef OPENSSL_NO_STATIC_ENGINE
58294823Sbr# define OPENSSL_NO_STATIC_ENGINE
59294823Sbr#endif
60294823Sbr
61294823Sbr/* The OPENSSL_NO_* macros are also defined as NO_* if the application
62294823Sbr   asks for it.  This is a transient feature that is provided for those
63294823Sbr   who haven't had the time to do the appropriate changes in their
64294823Sbr   applications.  */
65294823Sbr#ifdef OPENSSL_ALGORITHM_DEFINES
66294823Sbr# if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128)
67294823Sbr#  define NO_EC_NISTP_64_GCC_128
68294823Sbr# endif
69294823Sbr# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP)
70294823Sbr#  define NO_GMP
71294823Sbr# endif
72294823Sbr# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE)
73294823Sbr#  define NO_JPAKE
74294823Sbr# endif
75294823Sbr# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5)
76294823Sbr#  define NO_KRB5
77294823Sbr# endif
78294823Sbr# if defined(OPENSSL_NO_LIBUNBOUND) && !defined(NO_LIBUNBOUND)
79294823Sbr#  define NO_LIBUNBOUND
80294823Sbr# endif
81294823Sbr# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2)
82294823Sbr#  define NO_MD2
83294823Sbr# endif
84294823Sbr# if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP)
85294823Sbr#  define NO_SCTP
86294823Sbr# endif
87294823Sbr# if defined(OPENSSL_NO_SSL_TRACE) && !defined(NO_SSL_TRACE)
88294823Sbr#  define NO_SSL_TRACE
89294823Sbr# endif
90294823Sbr# if defined(OPENSSL_NO_SSL2) && !defined(NO_SSL2)
91294823Sbr#  define NO_SSL2
92294823Sbr# endif
93294823Sbr# if defined(OPENSSL_NO_STORE) && !defined(NO_STORE)
94294823Sbr#  define NO_STORE
95294823Sbr# endif
96294823Sbr# if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST)
97294823Sbr#  define NO_UNIT_TEST
98294823Sbr# endif
99296279Sjkim# if defined(OPENSSL_NO_WEAK_SSL_CIPHERS) && !defined(NO_WEAK_SSL_CIPHERS)
100296279Sjkim#  define NO_WEAK_SSL_CIPHERS
101296279Sjkim# endif
102294823Sbr#endif
103294823Sbr
104294823Sbr/* crypto/opensslconf.h.in */
105294823Sbr
106294823Sbr/* Generate 80386 code? */
107294823Sbr#undef I386_ONLY
108294823Sbr
109294823Sbr#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
110294823Sbr#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
111294823Sbr#define ENGINESDIR "/usr/lib/engines"
112294823Sbr#define OPENSSLDIR "/etc/ssl"
113294823Sbr#endif
114294823Sbr#endif
115294823Sbr
116294823Sbr#undef OPENSSL_UNISTD
117294823Sbr#define OPENSSL_UNISTD <unistd.h>
118294823Sbr
119294823Sbr#undef OPENSSL_EXPORT_VAR_AS_FUNCTION
120294823Sbr
121294823Sbr#if defined(HEADER_IDEA_H) && !defined(IDEA_INT)
122294823Sbr#define IDEA_INT unsigned int
123294823Sbr#endif
124294823Sbr
125294823Sbr#if defined(HEADER_MD2_H) && !defined(MD2_INT)
126294823Sbr#define MD2_INT unsigned int
127294823Sbr#endif
128294823Sbr
129294823Sbr#if defined(HEADER_RC2_H) && !defined(RC2_INT)
130294823Sbr/* I need to put in a mod for the alpha - eay */
131294823Sbr#define RC2_INT unsigned int
132294823Sbr#endif
133294823Sbr
134294823Sbr#if defined(HEADER_RC4_H)
135294823Sbr#if !defined(RC4_INT)
136294823Sbr/* using int types make the structure larger but make the code faster
137294823Sbr * on most boxes I have tested - up to %20 faster. */
138294823Sbr/*
139294823Sbr * I don't know what does "most" mean, but declaring "int" is a must on:
140294823Sbr * - Intel P6 because partial register stalls are very expensive;
141294823Sbr * - elder Alpha because it lacks byte load/store instructions;
142294823Sbr */
143294823Sbr#define RC4_INT unsigned int
144294823Sbr#endif
145294823Sbr#if !defined(RC4_CHUNK)
146294823Sbr/*
147294823Sbr * This enables code handling data aligned at natural CPU word
148294823Sbr * boundary. See crypto/rc4/rc4_enc.c for further details.
149294823Sbr */
150294823Sbr#undef RC4_CHUNK
151294823Sbr#endif
152294823Sbr#endif
153294823Sbr
154294823Sbr#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG)
155294823Sbr/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
156294823Sbr * %20 speed up (longs are 8 bytes, int's are 4). */
157294823Sbr#ifndef DES_LONG
158294823Sbr#define DES_LONG unsigned int
159294823Sbr#endif
160294823Sbr#endif
161294823Sbr
162294823Sbr#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)
163294823Sbr#define CONFIG_HEADER_BN_H
164294823Sbr#undef BN_LLONG
165294823Sbr
166294823Sbr/* Should we define BN_DIV2W here? */
167294823Sbr
168294823Sbr/* Only one for the following should be defined */
169294823Sbr#define SIXTY_FOUR_BIT_LONG
170294823Sbr#undef SIXTY_FOUR_BIT
171294823Sbr#undef THIRTY_TWO_BIT
172294823Sbr#endif
173294823Sbr
174294823Sbr#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H)
175294823Sbr#define CONFIG_HEADER_RC4_LOCL_H
176294823Sbr/* if this is defined data[i] is used instead of *data, this is a %20
177294823Sbr * speedup on x86 */
178294823Sbr#define RC4_INDEX
179294823Sbr#endif
180294823Sbr
181294823Sbr#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H)
182294823Sbr#define CONFIG_HEADER_BF_LOCL_H
183294823Sbr#undef BF_PTR
184294823Sbr#endif /* HEADER_BF_LOCL_H */
185294823Sbr
186294823Sbr#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H)
187294823Sbr#define CONFIG_HEADER_DES_LOCL_H
188294823Sbr#ifndef DES_DEFAULT_OPTIONS
189294823Sbr/* the following is tweaked from a config script, that is why it is a
190294823Sbr * protected undef/define */
191294823Sbr#ifndef DES_PTR
192294823Sbr#define DES_PTR
193294823Sbr#endif
194294823Sbr
195294823Sbr/* This helps C compiler generate the correct code for multiple functional
196294823Sbr * units.  It reduces register dependancies at the expense of 2 more
197294823Sbr * registers */
198294823Sbr#ifndef DES_RISC1
199294823Sbr#define DES_RISC1
200294823Sbr#endif
201294823Sbr
202294823Sbr#ifndef DES_RISC2
203294823Sbr#undef DES_RISC2
204294823Sbr#endif
205294823Sbr
206294823Sbr#if defined(DES_RISC1) && defined(DES_RISC2)
207294823Sbr#error YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!!
208294823Sbr#endif
209294823Sbr
210294823Sbr/* Unroll the inner loop, this sometimes helps, sometimes hinders.
211294823Sbr * Very mucy CPU dependant */
212294823Sbr#ifndef DES_UNROLL
213294823Sbr#define DES_UNROLL
214294823Sbr#endif
215294823Sbr
216294823Sbr/* These default values were supplied by
217294823Sbr * Peter Gutman <pgut001@cs.auckland.ac.nz>
218294823Sbr * They are only used if nothing else has been defined */
219294823Sbr#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL)
220294823Sbr/* Special defines which change the way the code is built depending on the
221294823Sbr   CPU and OS.  For SGI machines you can use _MIPS_SZLONG (32 or 64) to find
222294823Sbr   even newer MIPS CPU's, but at the moment one size fits all for
223294823Sbr   optimization options.  Older Sparc's work better with only UNROLL, but
224294823Sbr   there's no way to tell at compile time what it is you're running on */
225294823Sbr 
226296279Sjkim#if defined( __sun ) || defined ( sun )		/* Newer Sparc's */
227294823Sbr#  define DES_PTR
228294823Sbr#  define DES_RISC1
229294823Sbr#  define DES_UNROLL
230294823Sbr#elif defined( __ultrix )	/* Older MIPS */
231294823Sbr#  define DES_PTR
232294823Sbr#  define DES_RISC2
233294823Sbr#  define DES_UNROLL
234294823Sbr#elif defined( __osf1__ )	/* Alpha */
235294823Sbr#  define DES_PTR
236294823Sbr#  define DES_RISC2
237294823Sbr#elif defined ( _AIX )		/* RS6000 */
238294823Sbr  /* Unknown */
239294823Sbr#elif defined( __hpux )		/* HP-PA */
240294823Sbr  /* Unknown */
241294823Sbr#elif defined( __aux )		/* 68K */
242294823Sbr  /* Unknown */
243294823Sbr#elif defined( __dgux )		/* 88K (but P6 in latest boxes) */
244294823Sbr#  define DES_UNROLL
245294823Sbr#elif defined( __sgi )		/* Newer MIPS */
246294823Sbr#  define DES_PTR
247294823Sbr#  define DES_RISC2
248294823Sbr#  define DES_UNROLL
249294823Sbr#elif defined(i386) || defined(__i386__)	/* x86 boxes, should be gcc */
250294823Sbr#  define DES_PTR
251294823Sbr#  define DES_RISC1
252294823Sbr#  define DES_UNROLL
253294823Sbr#endif /* Systems-specific speed defines */
254294823Sbr#endif
255294823Sbr
256294823Sbr#endif /* DES_DEFAULT_OPTIONS */
257294823Sbr#endif /* HEADER_DES_LOCL_H */
258294823Sbr#ifdef  __cplusplus
259294823Sbr}
260294823Sbr#endif
261