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