196643Sobrien/* $FreeBSD$ */
296643Sobrien/* opensslconf.h */
396643Sobrien/* WARNING: Generated automatically from opensslconf.h.in by Configure. */
496643Sobrien
5296341Sdelphij#ifdef  __cplusplus
6296341Sdelphijextern "C" {
7296341Sdelphij#endif
896643Sobrien/* OpenSSL was configured with the following options: */
9160819Ssimon#ifndef OPENSSL_DOING_MAKEDEPEND
10160819Ssimon
11238405Sjkim
12238405Sjkim#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128
13238405Sjkim# define OPENSSL_NO_EC_NISTP_64_GCC_128
14162915Ssimon#endif
15238405Sjkim#ifndef OPENSSL_NO_GMP
16238405Sjkim# define OPENSSL_NO_GMP
17194207Ssimon#endif
18194207Ssimon#ifndef OPENSSL_NO_JPAKE
19194207Ssimon# define OPENSSL_NO_JPAKE
20194207Ssimon#endif
21160819Ssimon#ifndef OPENSSL_NO_KRB5
22160819Ssimon# define OPENSSL_NO_KRB5
23160819Ssimon#endif
24238405Sjkim#ifndef OPENSSL_NO_MD2
25238405Sjkim# define OPENSSL_NO_MD2
26238405Sjkim#endif
27238405Sjkim#ifndef OPENSSL_NO_SCTP
28238405Sjkim# define OPENSSL_NO_SCTP
29238405Sjkim#endif
30238405Sjkim#ifndef OPENSSL_NO_STORE
31238405Sjkim# define OPENSSL_NO_STORE
32238405Sjkim#endif
33296341Sdelphij#ifndef OPENSSL_NO_UNIT_TEST
34296341Sdelphij# define OPENSSL_NO_UNIT_TEST
35296341Sdelphij#endif
36160819Ssimon
37160819Ssimon#endif /* OPENSSL_DOING_MAKEDEPEND */
38238405Sjkim
39160819Ssimon#ifndef OPENSSL_THREADS
40160819Ssimon# define OPENSSL_THREADS
41160819Ssimon#endif
42238405Sjkim#ifndef OPENSSL_NO_ASM
43238405Sjkim# define OPENSSL_NO_ASM
44238405Sjkim#endif
45160819Ssimon#ifndef OPENSSL_NO_STATIC_ENGINE
46160819Ssimon# define OPENSSL_NO_STATIC_ENGINE
47160819Ssimon#endif
48160819Ssimon
49160819Ssimon/* The OPENSSL_NO_* macros are also defined as NO_* if the application
50160819Ssimon   asks for it.  This is a transient feature that is provided for those
51160819Ssimon   who haven't had the time to do the appropriate changes in their
52160819Ssimon   applications.  */
5396643Sobrien#ifdef OPENSSL_ALGORITHM_DEFINES
54238405Sjkim# if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128)
55238405Sjkim#  define NO_EC_NISTP_64_GCC_128
56238405Sjkim# endif
57160819Ssimon# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP)
58160819Ssimon#  define NO_GMP
5996643Sobrien# endif
60238405Sjkim# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE)
61238405Sjkim#  define NO_JPAKE
62238405Sjkim# endif
63160819Ssimon# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5)
64160819Ssimon#  define NO_KRB5
65160819Ssimon# endif
66238405Sjkim# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2)
67238405Sjkim#  define NO_MD2
68160819Ssimon# endif
69238405Sjkim# if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP)
70238405Sjkim#  define NO_SCTP
7196643Sobrien# endif
72238405Sjkim# if defined(OPENSSL_NO_STORE) && !defined(NO_STORE)
73238405Sjkim#  define NO_STORE
74238405Sjkim# endif
75296341Sdelphij# if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST)
76296341Sdelphij#  define NO_UNIT_TEST
77296341Sdelphij# endif
7896643Sobrien#endif
7996643Sobrien
8096643Sobrien/* crypto/opensslconf.h.in */
8196643Sobrien
8296643Sobrien/* Generate 80386 code? */
8396643Sobrien#undef I386_ONLY
8496643Sobrien
8596643Sobrien#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
8696643Sobrien#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
87160819Ssimon#define ENGINESDIR "/usr/lib/engines"
8896643Sobrien#define OPENSSLDIR "/etc/ssl"
8996643Sobrien#endif
9096643Sobrien#endif
9196643Sobrien
92160819Ssimon#undef OPENSSL_UNISTD
9396643Sobrien#define OPENSSL_UNISTD <unistd.h>
9496643Sobrien
95160819Ssimon#undef OPENSSL_EXPORT_VAR_AS_FUNCTION
96160819Ssimon
9796643Sobrien#if defined(HEADER_IDEA_H) && !defined(IDEA_INT)
9896643Sobrien#define IDEA_INT unsigned int
9996643Sobrien#endif
10096643Sobrien
10196643Sobrien#if defined(HEADER_MD2_H) && !defined(MD2_INT)
10296643Sobrien#define MD2_INT unsigned int
10396643Sobrien#endif
10496643Sobrien
10596643Sobrien#if defined(HEADER_RC2_H) && !defined(RC2_INT)
10696643Sobrien/* I need to put in a mod for the alpha - eay */
10796643Sobrien#define RC2_INT unsigned int
10896643Sobrien#endif
10996643Sobrien
11096643Sobrien#if defined(HEADER_RC4_H)
11196643Sobrien#if !defined(RC4_INT)
11296643Sobrien/* using int types make the structure larger but make the code faster
11396643Sobrien * on most boxes I have tested - up to %20 faster. */
11496643Sobrien/*
11596643Sobrien * I don't know what does "most" mean, but declaring "int" is a must on:
11696643Sobrien * - Intel P6 because partial register stalls are very expensive;
11796643Sobrien * - elder Alpha because it lacks byte load/store instructions;
11896643Sobrien */
11996643Sobrien#define RC4_INT unsigned int
12096643Sobrien#endif
12196643Sobrien#if !defined(RC4_CHUNK)
12296643Sobrien/*
12396643Sobrien * This enables code handling data aligned at natural CPU word
12496643Sobrien * boundary. See crypto/rc4/rc4_enc.c for further details.
12596643Sobrien */
12696643Sobrien#undef RC4_CHUNK
12796643Sobrien#endif
12896643Sobrien#endif
12996643Sobrien
130160819Ssimon#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG)
13196643Sobrien/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
13296643Sobrien * %20 speed up (longs are 8 bytes, int's are 4). */
13396643Sobrien#ifndef DES_LONG
134211934Snwhitehorn#define DES_LONG unsigned int
13596643Sobrien#endif
13696643Sobrien#endif
13796643Sobrien
13896643Sobrien#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)
13996643Sobrien#define CONFIG_HEADER_BN_H
140211934Snwhitehorn#ifdef __powerpc64__
141211934Snwhitehorn#undef BN_LLONG
142211934Snwhitehorn#else
14396643Sobrien#define BN_LLONG
144211934Snwhitehorn#endif
14596643Sobrien
14696643Sobrien/* Should we define BN_DIV2W here? */
14796643Sobrien
14896643Sobrien/* Only one for the following should be defined */
149211934Snwhitehorn#ifdef __powerpc64__
150211934Snwhitehorn#define SIXTY_FOUR_BIT_LONG
151211934Snwhitehorn#undef THIRTY_TWO_BIT
152211934Snwhitehorn#else
15396643Sobrien#undef SIXTY_FOUR_BIT_LONG
154211934Snwhitehorn#define THIRTY_TWO_BIT
155211934Snwhitehorn#endif
15696643Sobrien#undef SIXTY_FOUR_BIT
15796643Sobrien#endif
15896643Sobrien
15996643Sobrien#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H)
16096643Sobrien#define CONFIG_HEADER_RC4_LOCL_H
16196643Sobrien/* if this is defined data[i] is used instead of *data, this is a %20
16296643Sobrien * speedup on x86 */
16396643Sobrien#define RC4_INDEX
16496643Sobrien#endif
16596643Sobrien
16696643Sobrien#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H)
16796643Sobrien#define CONFIG_HEADER_BF_LOCL_H
16896643Sobrien#undef BF_PTR
16996643Sobrien#endif /* HEADER_BF_LOCL_H */
17096643Sobrien
17196643Sobrien#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H)
17296643Sobrien#define CONFIG_HEADER_DES_LOCL_H
17396643Sobrien#ifndef DES_DEFAULT_OPTIONS
17496643Sobrien/* the following is tweaked from a config script, that is why it is a
17596643Sobrien * protected undef/define */
17696643Sobrien#ifndef DES_PTR
17796643Sobrien#define DES_PTR
17896643Sobrien#endif
17996643Sobrien
18096643Sobrien/* This helps C compiler generate the correct code for multiple functional
18196643Sobrien * units.  It reduces register dependancies at the expense of 2 more
18296643Sobrien * registers */
18396643Sobrien#ifndef DES_RISC1
18496643Sobrien#define DES_RISC1
18596643Sobrien#endif
18696643Sobrien
18796643Sobrien#ifndef DES_RISC2
18896643Sobrien#undef DES_RISC2
18996643Sobrien#endif
19096643Sobrien
19196643Sobrien#if defined(DES_RISC1) && defined(DES_RISC2)
19296643SobrienYOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!!
19396643Sobrien#endif
19496643Sobrien
19596643Sobrien/* Unroll the inner loop, this sometimes helps, sometimes hinders.
19696643Sobrien * Very mucy CPU dependant */
19796643Sobrien#ifndef DES_UNROLL
19896643Sobrien#define DES_UNROLL
19996643Sobrien#endif
20096643Sobrien
20196643Sobrien/* These default values were supplied by
20296643Sobrien * Peter Gutman <pgut001@cs.auckland.ac.nz>
20396643Sobrien * They are only used if nothing else has been defined */
20496643Sobrien#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL)
20596643Sobrien/* Special defines which change the way the code is built depending on the
20696643Sobrien   CPU and OS.  For SGI machines you can use _MIPS_SZLONG (32 or 64) to find
20796643Sobrien   even newer MIPS CPU's, but at the moment one size fits all for
20896643Sobrien   optimization options.  Older Sparc's work better with only UNROLL, but
20996643Sobrien   there's no way to tell at compile time what it is you're running on */
21096643Sobrien
21196643Sobrien#if defined( sun )		/* Newer Sparc's */
21296643Sobrien#  define DES_PTR
21396643Sobrien#  define DES_RISC1
21496643Sobrien#  define DES_UNROLL
21596643Sobrien#elif defined( __ultrix )	/* Older MIPS */
21696643Sobrien#  define DES_PTR
21796643Sobrien#  define DES_RISC2
21896643Sobrien#  define DES_UNROLL
21996643Sobrien#elif defined( __osf1__ )	/* Alpha */
22096643Sobrien#  define DES_PTR
22196643Sobrien#  define DES_RISC2
22296643Sobrien#elif defined ( _AIX )		/* RS6000 */
22396643Sobrien  /* Unknown */
22496643Sobrien#elif defined( __hpux )		/* HP-PA */
22596643Sobrien  /* Unknown */
22696643Sobrien#elif defined( __aux )		/* 68K */
22796643Sobrien  /* Unknown */
22896643Sobrien#elif defined( __dgux )		/* 88K (but P6 in latest boxes) */
22996643Sobrien#  define DES_UNROLL
23096643Sobrien#elif defined( __sgi )		/* Newer MIPS */
23196643Sobrien#  define DES_PTR
23296643Sobrien#  define DES_RISC2
23396643Sobrien#  define DES_UNROLL
234238405Sjkim#elif defined(i386) || defined(__i386__)	/* x86 boxes, should be gcc */
23596643Sobrien#  define DES_PTR
23696643Sobrien#  define DES_RISC1
23796643Sobrien#  define DES_UNROLL
23896643Sobrien#endif /* Systems-specific speed defines */
23996643Sobrien#endif
24096643Sobrien
24196643Sobrien#endif /* DES_DEFAULT_OPTIONS */
24296643Sobrien#endif /* HEADER_DES_LOCL_H */
243296341Sdelphij#ifdef  __cplusplus
244296341Sdelphij}
245296341Sdelphij#endif
246