1656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* crypto/opensslconf.h.in */
2656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
3656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Generate 80386 code? */
4656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef I386_ONLY
5656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
6656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
7656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
8656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ENGINESDIR "/usr/local/lib/engines"
9656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define OPENSSLDIR "/usr/local/ssl"
10656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif
11656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif
12656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
13656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef OPENSSL_UNISTD
14656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define OPENSSL_UNISTD <unistd.h>
15656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
16656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef OPENSSL_EXPORT_VAR_AS_FUNCTION
17656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
18656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if defined(HEADER_IDEA_H) && !defined(IDEA_INT)
19656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define IDEA_INT unsigned int
20656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif
21656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
22656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if defined(HEADER_MD2_H) && !defined(MD2_INT)
23656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define MD2_INT unsigned int
24656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif
25656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
26656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if defined(HEADER_RC2_H) && !defined(RC2_INT)
27656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* I need to put in a mod for the alpha - eay */
28656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define RC2_INT unsigned int
29656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif
30656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
31656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if defined(HEADER_RC4_H)
32656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if !defined(RC4_INT)
33656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* using int types make the structure larger but make the code faster
34656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * on most boxes I have tested - up to %20 faster. */
35656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/*
36656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * I don't know what does "most" mean, but declaring "int" is a must on:
37656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * - Intel P6 because partial register stalls are very expensive;
38656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * - elder Alpha because it lacks byte load/store instructions;
39656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project */
40656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define RC4_INT unsigned int
41656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif
42656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if !defined(RC4_CHUNK)
43656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/*
44656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * This enables code handling data aligned at natural CPU word
45656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * boundary. See crypto/rc4/rc4_enc.c for further details.
46656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project */
47656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef RC4_CHUNK
48656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif
49656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif
50656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
51656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG)
52656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
53656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * %20 speed up (longs are 8 bytes, int's are 4). */
54656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef DES_LONG
55656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define DES_LONG unsigned long
56656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif
57656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif
58656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
59656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)
60656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONFIG_HEADER_BN_H
61656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef BN_LLONG
62656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
63656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Should we define BN_DIV2W here? */
64656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
65656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Only one for the following should be defined */
66656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef SIXTY_FOUR_BIT_LONG
67656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef SIXTY_FOUR_BIT
68656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define THIRTY_TWO_BIT
69656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif
70656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
71656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H)
72656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONFIG_HEADER_RC4_LOCL_H
73656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* if this is defined data[i] is used instead of *data, this is a %20
74656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * speedup on x86 */
75656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef RC4_INDEX
76656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif
77656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
78656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H)
79656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONFIG_HEADER_BF_LOCL_H
80656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef BF_PTR
81656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif /* HEADER_BF_LOCL_H */
82656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
83656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H)
84656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONFIG_HEADER_DES_LOCL_H
85656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef DES_DEFAULT_OPTIONS
86656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* the following is tweaked from a config script, that is why it is a
87656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * protected undef/define */
88656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef DES_PTR
89656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef DES_PTR
90656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif
91656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
92656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* This helps C compiler generate the correct code for multiple functional
93656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * units.  It reduces register dependancies at the expense of 2 more
94656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * registers */
95656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef DES_RISC1
96656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef DES_RISC1
97656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif
98656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
99656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef DES_RISC2
100656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef DES_RISC2
101656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif
102656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
103656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if defined(DES_RISC1) && defined(DES_RISC2)
104656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectYOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!!
105656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif
106656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
107656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Unroll the inner loop, this sometimes helps, sometimes hinders.
108656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * Very mucy CPU dependant */
109656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef DES_UNROLL
110656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef DES_UNROLL
111656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif
112656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
113656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* These default values were supplied by
114656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * Peter Gutman <pgut001@cs.auckland.ac.nz>
115656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * They are only used if nothing else has been defined */
116656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL)
117656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Special defines which change the way the code is built depending on the
118656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project   CPU and OS.  For SGI machines you can use _MIPS_SZLONG (32 or 64) to find
119656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project   even newer MIPS CPU's, but at the moment one size fits all for
120656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project   optimization options.  Older Sparc's work better with only UNROLL, but
121656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project   there's no way to tell at compile time what it is you're running on */
122656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
123656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if defined( sun )		/* Newer Sparc's */
124656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#  define DES_PTR
125656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#  define DES_RISC1
126656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#  define DES_UNROLL
127656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#elif defined( __ultrix )	/* Older MIPS */
128656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#  define DES_PTR
129656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#  define DES_RISC2
130656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#  define DES_UNROLL
131656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#elif defined( __osf1__ )	/* Alpha */
132656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#  define DES_PTR
133656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#  define DES_RISC2
134656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#elif defined ( _AIX )		/* RS6000 */
135656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project  /* Unknown */
136656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#elif defined( __hpux )		/* HP-PA */
137656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project  /* Unknown */
138656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#elif defined( __aux )		/* 68K */
139656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project  /* Unknown */
140656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#elif defined( __dgux )		/* 88K (but P6 in latest boxes) */
141656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#  define DES_UNROLL
142656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#elif defined( __sgi )		/* Newer MIPS */
143656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#  define DES_PTR
144656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#  define DES_RISC2
145656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#  define DES_UNROLL
146656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#elif defined(i386) || defined(__i386__)	/* x86 boxes, should be gcc */
147656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#  define DES_PTR
148656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#  define DES_RISC1
149656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#  define DES_UNROLL
150656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif /* Systems-specific speed defines */
151656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif
152656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
153656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif /* DES_DEFAULT_OPTIONS */
154656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif /* HEADER_DES_LOCL_H */
155