opensslconf-mips.h revision 194207
1238438Sdteske/* $FreeBSD: head/secure/lib/libcrypto/opensslconf-mips.h 194207 2009-06-14 19:46:18Z simon $ */
2238438Sdteske/* opensslconf.h */
3238438Sdteske/* WARNING: Generated automatically from opensslconf.h.in by Configure. */
4252980Sdteske
5238438Sdteske/* OpenSSL was configured with the following options: */
6238438Sdteske#ifndef OPENSSL_DOING_MAKEDEPEND
7238438Sdteske
8238438Sdteske/* Disabled by default in OpenSSL 0.9.8. */
9238438Sdteske#ifndef OPENSSL_NO_CAMELLIA
10238438Sdteske# define OPENSSL_NO_CAMELLIA
11238438Sdteske#endif
12238438Sdteske/* Disabled by default in OpenSSL 0.9.8. */
13238438Sdteske#ifndef OPENSSL_NO_CMS
14238438Sdteske# define OPENSSL_NO_CMS
15238438Sdteske#endif
16252987Sdteske/* Disabled by default in OpenSSL 0.9.8. */
17238438Sdteske#ifndef OPENSSL_NO_SEED
18238438Sdteske# define OPENSSL_NO_SEED
19238438Sdteske#endif
20252987Sdteske/* jpake is marked experimental in OpenSSL 0.9.8. */
21238438Sdteske#ifndef OPENSSL_NO_JPAKE
22238438Sdteske# define OPENSSL_NO_JPAKE
23238438Sdteske#endif
24238438Sdteske/* libgmp is not in the FreeBSD base system. */
25238438Sdteske#ifndef OPENSSL_NO_GMP
26238438Sdteske# define OPENSSL_NO_GMP
27238438Sdteske#endif
28238438Sdteske/* The Kerberos 5 support is MIT-specific. */
29238438Sdteske#ifndef OPENSSL_NO_KRB5
30238438Sdteske# define OPENSSL_NO_KRB5
31240684Sdteske#endif
32240684Sdteske
33244675Sdteske#endif /* OPENSSL_DOING_MAKEDEPEND */
34238438Sdteske#ifndef OPENSSL_THREADS
35240684Sdteske# define OPENSSL_THREADS
36238438Sdteske#endif
37238438Sdteske#ifndef OPENSSL_NO_STATIC_ENGINE
38238438Sdteske# define OPENSSL_NO_STATIC_ENGINE
39238438Sdteske#endif
40238438Sdteske
41238438Sdteske/* The OPENSSL_NO_* macros are also defined as NO_* if the application
42238438Sdteske   asks for it.  This is a transient feature that is provided for those
43238438Sdteske   who haven't had the time to do the appropriate changes in their
44238438Sdteske   applications.  */
45238438Sdteske#ifdef OPENSSL_ALGORITHM_DEFINES
46238438Sdteske# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP)
47238438Sdteske#  define NO_GMP
48238438Sdteske# endif
49238438Sdteske# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5)
50238438Sdteske#  define NO_KRB5
51238438Sdteske# endif
52238438Sdteske# endif
53238438Sdteske#ifdef OPENSSL_OTHER_DEFINES
54238438Sdteske# ifndef NO_ASM
55238438Sdteske#  define NO_ASM
56238438Sdteske# endif
57238438Sdteske#endif
58238438Sdteske
59238438Sdteske/* crypto/opensslconf.h.in */
60238438Sdteske
61238438Sdteske/* Generate 80386 code? */
62238438Sdteske#undef I386_ONLY
63238438Sdteske
64238438Sdteske#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
65238438Sdteske#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
66238438Sdteske#define ENGINESDIR "/usr/lib/engines"
67238438Sdteske#define OPENSSLDIR "/etc/ssl"
68238438Sdteske#endif
69238438Sdteske#endif
70238438Sdteske
71238438Sdteske#undef OPENSSL_UNISTD
72238438Sdteske#define OPENSSL_UNISTD <unistd.h>
73238438Sdteske
74238438Sdteske#undef OPENSSL_EXPORT_VAR_AS_FUNCTION
75238438Sdteske
76238438Sdteske#if defined(HEADER_IDEA_H) && !defined(IDEA_INT)
77238438Sdteske#define IDEA_INT unsigned int
78238438Sdteske#endif
79238438Sdteske
80238438Sdteske#if defined(HEADER_MD2_H) && !defined(MD2_INT)
81238438Sdteske#define MD2_INT unsigned int
82238438Sdteske#endif
83238438Sdteske
84238438Sdteske#if defined(HEADER_RC2_H) && !defined(RC2_INT)
85238438Sdteske/* I need to put in a mod for the alpha - eay */
86238438Sdteske#define RC2_INT unsigned int
87238438Sdteske#endif
88238438Sdteske
89238438Sdteske#if defined(HEADER_RC4_H)
90238438Sdteske#if !defined(RC4_INT)
91238438Sdteske/* using int types make the structure larger but make the code faster
92238438Sdteske * on most boxes I have tested - up to %20 faster. */
93238438Sdteske/*
94238438Sdteske * I don't know what does "most" mean, but declaring "int" is a must on:
95238438Sdteske * - Intel P6 because partial register stalls are very expensive;
96238438Sdteske * - elder Alpha because it lacks byte load/store instructions;
97238438Sdteske */
98238438Sdteske#define RC4_INT unsigned int
99238438Sdteske#endif
100238438Sdteske#if !defined(RC4_CHUNK)
101238438Sdteske/*
102238438Sdteske * This enables code handling data aligned at natural CPU word
103238438Sdteske * boundary. See crypto/rc4/rc4_enc.c for further details.
104238438Sdteske */
105238438Sdteske#undef RC4_CHUNK
106238438Sdteske#endif
107238438Sdteske#endif
108238438Sdteske
109238438Sdteske#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG)
110238438Sdteske/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
111238438Sdteske * %20 speed up (longs are 8 bytes, int's are 4). */
112238438Sdteske#ifndef DES_LONG
113238438Sdteske#define DES_LONG unsigned long
114238438Sdteske#endif
115238438Sdteske#endif
116238438Sdteske
117238438Sdteske#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)
118238438Sdteske#define CONFIG_HEADER_BN_H
119238438Sdteske#define BN_LLONG
120238438Sdteske
121238438Sdteske/* Should we define BN_DIV2W here? */
122238438Sdteske
123238438Sdteske/* Only one for the following should be defined */
124238438Sdteske/* The prime number generation stuff may not work when
125238438Sdteske * EIGHT_BIT but I don't care since I've only used this mode
126238438Sdteske * for debuging the bignum libraries */
127238438Sdteske#undef SIXTY_FOUR_BIT_LONG
128238438Sdteske#undef SIXTY_FOUR_BIT
129238438Sdteske#define THIRTY_TWO_BIT
130238438Sdteske#undef SIXTEEN_BIT
131238438Sdteske#undef EIGHT_BIT
132238438Sdteske#endif
133238438Sdteske
134238438Sdteske#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H)
135238438Sdteske#define CONFIG_HEADER_RC4_LOCL_H
136238438Sdteske/* if this is defined data[i] is used instead of *data, this is a %20
137238438Sdteske * speedup on x86 */
138238438Sdteske#define RC4_INDEX
139238438Sdteske#endif
140238438Sdteske
141238438Sdteske#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H)
142238438Sdteske#define CONFIG_HEADER_BF_LOCL_H
143238438Sdteske#undef BF_PTR
144238438Sdteske#endif /* HEADER_BF_LOCL_H */
145238438Sdteske
146238438Sdteske#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H)
147238438Sdteske#define CONFIG_HEADER_DES_LOCL_H
148238438Sdteske#ifndef DES_DEFAULT_OPTIONS
149238438Sdteske/* the following is tweaked from a config script, that is why it is a
150238438Sdteske * protected undef/define */
151238438Sdteske#ifndef DES_PTR
152238438Sdteske#define DES_PTR
153238438Sdteske#endif
154238438Sdteske
155238438Sdteske/* This helps C compiler generate the correct code for multiple functional
156238438Sdteske * units.  It reduces register dependancies at the expense of 2 more
157238438Sdteske * registers */
158238438Sdteske#ifndef DES_RISC1
159238438Sdteske#define DES_RISC1
160238438Sdteske#endif
161238438Sdteske
162238438Sdteske#ifndef DES_RISC2
163238438Sdteske#undef DES_RISC2
164238438Sdteske#endif
165238438Sdteske
166238438Sdteske#if defined(DES_RISC1) && defined(DES_RISC2)
167238438SdteskeYOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!!
168238438Sdteske#endif
169238438Sdteske
170238438Sdteske/* Unroll the inner loop, this sometimes helps, sometimes hinders.
171238438Sdteske * Very mucy CPU dependant */
172238438Sdteske#ifndef DES_UNROLL
173238438Sdteske#define DES_UNROLL
174238438Sdteske#endif
175238438Sdteske
176238438Sdteske/* These default values were supplied by
177238438Sdteske * Peter Gutman <pgut001@cs.auckland.ac.nz>
178238438Sdteske * They are only used if nothing else has been defined */
179238438Sdteske#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL)
180238438Sdteske/* Special defines which change the way the code is built depending on the
181238438Sdteske   CPU and OS.  For SGI machines you can use _MIPS_SZLONG (32 or 64) to find
182238438Sdteske   even newer MIPS CPU's, but at the moment one size fits all for
183238438Sdteske   optimization options.  Older Sparc's work better with only UNROLL, but
184238438Sdteske   there's no way to tell at compile time what it is you're running on */
185238438Sdteske
186238438Sdteske#if defined( sun )		/* Newer Sparc's */
187238438Sdteske#  define DES_PTR
188238438Sdteske#  define DES_RISC1
189238438Sdteske#  define DES_UNROLL
190238438Sdteske#elif defined( __ultrix )	/* Older MIPS */
191238438Sdteske#  define DES_PTR
192238438Sdteske#  define DES_RISC2
193238438Sdteske#  define DES_UNROLL
194238438Sdteske#elif defined( __osf1__ )	/* Alpha */
195238438Sdteske#  define DES_PTR
196238438Sdteske#  define DES_RISC2
197238438Sdteske#elif defined ( _AIX )		/* RS6000 */
198244675Sdteske  /* Unknown */
199244675Sdteske#elif defined( __hpux )		/* HP-PA */
200244675Sdteske  /* Unknown */
201244675Sdteske#elif defined( __aux )		/* 68K */
202238438Sdteske  /* Unknown */
203#elif defined( __dgux )		/* 88K (but P6 in latest boxes) */
204#  define DES_UNROLL
205#elif defined( __sgi )		/* Newer MIPS */
206#  define DES_PTR
207#  define DES_RISC2
208#  define DES_UNROLL
209#elif defined( i386 )		/* x86 boxes, should be gcc */
210#  define DES_PTR
211#  define DES_RISC1
212#  define DES_UNROLL
213#endif /* Systems-specific speed defines */
214#endif
215
216#endif /* DES_DEFAULT_OPTIONS */
217#endif /* HEADER_DES_LOCL_H */
218