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