159191Skris/* opensslconf.h */
259191Skris/* WARNING: Generated automatically from opensslconf.h.in by Configure. */
355714Skris
4273399Sdelphij#ifdef  __cplusplus
5273399Sdelphijextern "C" {
6273399Sdelphij#endif
759191Skris/* OpenSSL was configured with the following options: */
8109998Smarkm#ifndef OPENSSL_DOING_MAKEDEPEND
9109998Smarkm
10194206Ssimon
11238405Sjkim#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128
12238405Sjkim# define OPENSSL_NO_EC_NISTP_64_GCC_128
13162911Ssimon#endif
14160814Ssimon#ifndef OPENSSL_NO_GMP
15160814Ssimon# define OPENSSL_NO_GMP
16160814Ssimon#endif
17194206Ssimon#ifndef OPENSSL_NO_JPAKE
18194206Ssimon# define OPENSSL_NO_JPAKE
19194206Ssimon#endif
20109998Smarkm#ifndef OPENSSL_NO_KRB5
21109998Smarkm# define OPENSSL_NO_KRB5
22109998Smarkm#endif
23238405Sjkim#ifndef OPENSSL_NO_MD2
24238405Sjkim# define OPENSSL_NO_MD2
25160814Ssimon#endif
26160814Ssimon#ifndef OPENSSL_NO_RC5
27160814Ssimon# define OPENSSL_NO_RC5
28160814Ssimon#endif
29167612Ssimon#ifndef OPENSSL_NO_RFC3779
30167612Ssimon# define OPENSSL_NO_RFC3779
31167612Ssimon#endif
32238405Sjkim#ifndef OPENSSL_NO_SCTP
33238405Sjkim# define OPENSSL_NO_SCTP
34194206Ssimon#endif
35238405Sjkim#ifndef OPENSSL_NO_STORE
36238405Sjkim# define OPENSSL_NO_STORE
37238405Sjkim#endif
38269686Sjkim#ifndef OPENSSL_NO_UNIT_TEST
39269686Sjkim# define OPENSSL_NO_UNIT_TEST
40269686Sjkim#endif
41109998Smarkm
42109998Smarkm#endif /* OPENSSL_DOING_MAKEDEPEND */
43194206Ssimon
44160814Ssimon#ifndef OPENSSL_NO_DYNAMIC_ENGINE
45160814Ssimon# define OPENSSL_NO_DYNAMIC_ENGINE
46160814Ssimon#endif
47109998Smarkm
48109998Smarkm/* The OPENSSL_NO_* macros are also defined as NO_* if the application
49109998Smarkm   asks for it.  This is a transient feature that is provided for those
50109998Smarkm   who haven't had the time to do the appropriate changes in their
51109998Smarkm   applications.  */
5259191Skris#ifdef OPENSSL_ALGORITHM_DEFINES
53238405Sjkim# if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128)
54238405Sjkim#  define NO_EC_NISTP_64_GCC_128
55162911Ssimon# endif
56160814Ssimon# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP)
57160814Ssimon#  define NO_GMP
58160814Ssimon# endif
59194206Ssimon# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE)
60194206Ssimon#  define NO_JPAKE
61194206Ssimon# endif
62109998Smarkm# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5)
63109998Smarkm#  define NO_KRB5
64109998Smarkm# endif
65238405Sjkim# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2)
66238405Sjkim#  define NO_MD2
67160814Ssimon# endif
68160814Ssimon# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5)
69160814Ssimon#  define NO_RC5
70160814Ssimon# endif
71167612Ssimon# if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779)
72167612Ssimon#  define NO_RFC3779
73167612Ssimon# endif
74238405Sjkim# if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP)
75238405Sjkim#  define NO_SCTP
76194206Ssimon# endif
77238405Sjkim# if defined(OPENSSL_NO_STORE) && !defined(NO_STORE)
78238405Sjkim#  define NO_STORE
79238405Sjkim# endif
80269686Sjkim# if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST)
81269686Sjkim#  define NO_UNIT_TEST
82269686Sjkim# endif
8359191Skris#endif
8459191Skris
8559191Skris/* crypto/opensslconf.h.in */
8659191Skris
8755714Skris/* Generate 80386 code? */
8855714Skris#undef I386_ONLY
8955714Skris
9055714Skris#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
9155714Skris#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
92160814Ssimon#define ENGINESDIR "/usr/local/ssl/lib/engines"
9355714Skris#define OPENSSLDIR "/usr/local/ssl"
9455714Skris#endif
9555714Skris#endif
9655714Skris
97109998Smarkm#undef OPENSSL_UNISTD
9855714Skris#define OPENSSL_UNISTD <unistd.h>
9955714Skris
100109998Smarkm#undef OPENSSL_EXPORT_VAR_AS_FUNCTION
101109998Smarkm
10255714Skris#if defined(HEADER_IDEA_H) && !defined(IDEA_INT)
10355714Skris#define IDEA_INT unsigned int
10455714Skris#endif
10555714Skris
10655714Skris#if defined(HEADER_MD2_H) && !defined(MD2_INT)
107127128Snectar#define MD2_INT unsigned int
10855714Skris#endif
10955714Skris
11055714Skris#if defined(HEADER_RC2_H) && !defined(RC2_INT)
11155714Skris/* I need to put in a mod for the alpha - eay */
11255714Skris#define RC2_INT unsigned int
11355714Skris#endif
11455714Skris
11559191Skris#if defined(HEADER_RC4_H)
11659191Skris#if !defined(RC4_INT)
11755714Skris/* using int types make the structure larger but make the code faster
11855714Skris * on most boxes I have tested - up to %20 faster. */
11959191Skris/*
12059191Skris * I don't know what does "most" mean, but declaring "int" is a must on:
12159191Skris * - Intel P6 because partial register stalls are very expensive;
12259191Skris * - elder Alpha because it lacks byte load/store instructions;
12359191Skris */
12455714Skris#define RC4_INT unsigned int
12555714Skris#endif
12659191Skris#if !defined(RC4_CHUNK)
12759191Skris/*
12859191Skris * This enables code handling data aligned at natural CPU word
12959191Skris * boundary. See crypto/rc4/rc4_enc.c for further details.
13059191Skris */
13159191Skris#undef RC4_CHUNK
13259191Skris#endif
13359191Skris#endif
13455714Skris
135109998Smarkm#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG)
13655714Skris/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
13755714Skris * %20 speed up (longs are 8 bytes, int's are 4). */
13855714Skris#ifndef DES_LONG
13955714Skris#define DES_LONG unsigned long
14055714Skris#endif
14155714Skris#endif
14255714Skris
14355714Skris#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)
14455714Skris#define CONFIG_HEADER_BN_H
14555714Skris#undef BN_LLONG
14655714Skris
14755714Skris/* Should we define BN_DIV2W here? */
14855714Skris
14955714Skris/* Only one for the following should be defined */
15055714Skris#undef SIXTY_FOUR_BIT_LONG
15155714Skris#undef SIXTY_FOUR_BIT
15255714Skris#define THIRTY_TWO_BIT
15355714Skris#endif
15455714Skris
15555714Skris#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H)
15655714Skris#define CONFIG_HEADER_RC4_LOCL_H
15755714Skris/* if this is defined data[i] is used instead of *data, this is a %20
15855714Skris * speedup on x86 */
159127128Snectar#undef RC4_INDEX
16055714Skris#endif
16155714Skris
16255714Skris#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H)
16355714Skris#define CONFIG_HEADER_BF_LOCL_H
16455714Skris#undef BF_PTR
16555714Skris#endif /* HEADER_BF_LOCL_H */
16655714Skris
16755714Skris#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H)
16855714Skris#define CONFIG_HEADER_DES_LOCL_H
16955714Skris#ifndef DES_DEFAULT_OPTIONS
17055714Skris/* the following is tweaked from a config script, that is why it is a
17155714Skris * protected undef/define */
17255714Skris#ifndef DES_PTR
173127128Snectar#undef DES_PTR
17455714Skris#endif
17555714Skris
17655714Skris/* This helps C compiler generate the correct code for multiple functional
17755714Skris * units.  It reduces register dependancies at the expense of 2 more
17855714Skris * registers */
17955714Skris#ifndef DES_RISC1
18055714Skris#undef DES_RISC1
18155714Skris#endif
18255714Skris
18355714Skris#ifndef DES_RISC2
18455714Skris#undef DES_RISC2
18555714Skris#endif
18655714Skris
18755714Skris#if defined(DES_RISC1) && defined(DES_RISC2)
188296341Sdelphij#error YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!!
18955714Skris#endif
19055714Skris
19155714Skris/* Unroll the inner loop, this sometimes helps, sometimes hinders.
19255714Skris * Very mucy CPU dependant */
19355714Skris#ifndef DES_UNROLL
194127128Snectar#undef DES_UNROLL
19555714Skris#endif
19655714Skris
19755714Skris/* These default values were supplied by
19855714Skris * Peter Gutman <pgut001@cs.auckland.ac.nz>
19955714Skris * They are only used if nothing else has been defined */
20055714Skris#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL)
20155714Skris/* Special defines which change the way the code is built depending on the
20255714Skris   CPU and OS.  For SGI machines you can use _MIPS_SZLONG (32 or 64) to find
20355714Skris   even newer MIPS CPU's, but at the moment one size fits all for
20455714Skris   optimization options.  Older Sparc's work better with only UNROLL, but
20555714Skris   there's no way to tell at compile time what it is you're running on */
20655714Skris
20755714Skris#if defined( sun )		/* Newer Sparc's */
20855714Skris#  define DES_PTR
20955714Skris#  define DES_RISC1
21055714Skris#  define DES_UNROLL
21155714Skris#elif defined( __ultrix )	/* Older MIPS */
21255714Skris#  define DES_PTR
21355714Skris#  define DES_RISC2
21455714Skris#  define DES_UNROLL
21555714Skris#elif defined( __osf1__ )	/* Alpha */
21655714Skris#  define DES_PTR
21755714Skris#  define DES_RISC2
21855714Skris#elif defined ( _AIX )		/* RS6000 */
21955714Skris  /* Unknown */
22055714Skris#elif defined( __hpux )		/* HP-PA */
22155714Skris  /* Unknown */
22255714Skris#elif defined( __aux )		/* 68K */
22355714Skris  /* Unknown */
22455714Skris#elif defined( __dgux )		/* 88K (but P6 in latest boxes) */
22555714Skris#  define DES_UNROLL
22655714Skris#elif defined( __sgi )		/* Newer MIPS */
22755714Skris#  define DES_PTR
22855714Skris#  define DES_RISC2
22955714Skris#  define DES_UNROLL
230109998Smarkm#elif defined(i386) || defined(__i386__)	/* x86 boxes, should be gcc */
23155714Skris#  define DES_PTR
23255714Skris#  define DES_RISC1
23355714Skris#  define DES_UNROLL
23455714Skris#endif /* Systems-specific speed defines */
23555714Skris#endif
23655714Skris
23755714Skris#endif /* DES_DEFAULT_OPTIONS */
23855714Skris#endif /* HEADER_DES_LOCL_H */
239273399Sdelphij#ifdef  __cplusplus
240273399Sdelphij}
241273399Sdelphij#endif
242