159191Skris/* crypto/opensslconf.h.in */
255714Skris
355714Skris/* Generate 80386 code? */
455714Skris#undef I386_ONLY
555714Skris
655714Skris#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
755714Skris#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
8160814Ssimon#define ENGINESDIR "/usr/local/lib/engines"
955714Skris#define OPENSSLDIR "/usr/local/ssl"
1055714Skris#endif
1155714Skris#endif
1255714Skris
13109998Smarkm#undef OPENSSL_UNISTD
1455714Skris#define OPENSSL_UNISTD <unistd.h>
1555714Skris
16109998Smarkm#undef OPENSSL_EXPORT_VAR_AS_FUNCTION
17109998Smarkm
1855714Skris#if defined(HEADER_IDEA_H) && !defined(IDEA_INT)
1955714Skris#define IDEA_INT unsigned int
2055714Skris#endif
2155714Skris
2255714Skris#if defined(HEADER_MD2_H) && !defined(MD2_INT)
2355714Skris#define MD2_INT unsigned int
2455714Skris#endif
2555714Skris
2655714Skris#if defined(HEADER_RC2_H) && !defined(RC2_INT)
2755714Skris/* I need to put in a mod for the alpha - eay */
2855714Skris#define RC2_INT unsigned int
2955714Skris#endif
3055714Skris
3159191Skris#if defined(HEADER_RC4_H)
3259191Skris#if !defined(RC4_INT)
3355714Skris/* using int types make the structure larger but make the code faster
3455714Skris * on most boxes I have tested - up to %20 faster. */
3559191Skris/*
3659191Skris * I don't know what does "most" mean, but declaring "int" is a must on:
3759191Skris * - Intel P6 because partial register stalls are very expensive;
3859191Skris * - elder Alpha because it lacks byte load/store instructions;
3959191Skris */
4055714Skris#define RC4_INT unsigned int
4155714Skris#endif
4259191Skris#if !defined(RC4_CHUNK)
4359191Skris/*
4459191Skris * This enables code handling data aligned at natural CPU word
4559191Skris * boundary. See crypto/rc4/rc4_enc.c for further details.
4659191Skris */
4759191Skris#undef RC4_CHUNK
4859191Skris#endif
4959191Skris#endif
5055714Skris
51109998Smarkm#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG)
5255714Skris/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
5355714Skris * %20 speed up (longs are 8 bytes, int's are 4). */
5455714Skris#ifndef DES_LONG
5555714Skris#define DES_LONG unsigned long
5655714Skris#endif
5755714Skris#endif
5855714Skris
5955714Skris#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)
6055714Skris#define CONFIG_HEADER_BN_H
6155714Skris#undef BN_LLONG
6255714Skris
6355714Skris/* Should we define BN_DIV2W here? */
6455714Skris
6555714Skris/* Only one for the following should be defined */
6655714Skris#undef SIXTY_FOUR_BIT_LONG
6755714Skris#undef SIXTY_FOUR_BIT
6855714Skris#define THIRTY_TWO_BIT
6955714Skris#endif
7055714Skris
7155714Skris#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H)
7255714Skris#define CONFIG_HEADER_RC4_LOCL_H
7355714Skris/* if this is defined data[i] is used instead of *data, this is a %20
7455714Skris * speedup on x86 */
7555714Skris#undef RC4_INDEX
7655714Skris#endif
7755714Skris
7855714Skris#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H)
7955714Skris#define CONFIG_HEADER_BF_LOCL_H
8055714Skris#undef BF_PTR
8155714Skris#endif /* HEADER_BF_LOCL_H */
8255714Skris
8355714Skris#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H)
8455714Skris#define CONFIG_HEADER_DES_LOCL_H
8555714Skris#ifndef DES_DEFAULT_OPTIONS
8655714Skris/* the following is tweaked from a config script, that is why it is a
8755714Skris * protected undef/define */
8855714Skris#ifndef DES_PTR
8955714Skris#undef DES_PTR
9055714Skris#endif
9155714Skris
9255714Skris/* This helps C compiler generate the correct code for multiple functional
9355714Skris * units.  It reduces register dependancies at the expense of 2 more
9455714Skris * registers */
9555714Skris#ifndef DES_RISC1
9655714Skris#undef DES_RISC1
9755714Skris#endif
9855714Skris
9955714Skris#ifndef DES_RISC2
10055714Skris#undef DES_RISC2
10155714Skris#endif
10255714Skris
10355714Skris#if defined(DES_RISC1) && defined(DES_RISC2)
104285330Sjkim#error YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!!
10555714Skris#endif
10655714Skris
10755714Skris/* Unroll the inner loop, this sometimes helps, sometimes hinders.
10855714Skris * Very mucy CPU dependant */
10955714Skris#ifndef DES_UNROLL
11055714Skris#undef DES_UNROLL
11155714Skris#endif
11255714Skris
11355714Skris/* These default values were supplied by
11455714Skris * Peter Gutman <pgut001@cs.auckland.ac.nz>
11555714Skris * They are only used if nothing else has been defined */
11655714Skris#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL)
11755714Skris/* Special defines which change the way the code is built depending on the
11855714Skris   CPU and OS.  For SGI machines you can use _MIPS_SZLONG (32 or 64) to find
11955714Skris   even newer MIPS CPU's, but at the moment one size fits all for
12055714Skris   optimization options.  Older Sparc's work better with only UNROLL, but
12155714Skris   there's no way to tell at compile time what it is you're running on */
12255714Skris 
123291721Sjkim#if defined( __sun ) || defined ( sun )		/* Newer Sparc's */
12455714Skris#  define DES_PTR
12555714Skris#  define DES_RISC1
12655714Skris#  define DES_UNROLL
12755714Skris#elif defined( __ultrix )	/* Older MIPS */
12855714Skris#  define DES_PTR
12955714Skris#  define DES_RISC2
13055714Skris#  define DES_UNROLL
13155714Skris#elif defined( __osf1__ )	/* Alpha */
13255714Skris#  define DES_PTR
13355714Skris#  define DES_RISC2
13455714Skris#elif defined ( _AIX )		/* RS6000 */
13555714Skris  /* Unknown */
13655714Skris#elif defined( __hpux )		/* HP-PA */
13755714Skris  /* Unknown */
13855714Skris#elif defined( __aux )		/* 68K */
13955714Skris  /* Unknown */
14055714Skris#elif defined( __dgux )		/* 88K (but P6 in latest boxes) */
14155714Skris#  define DES_UNROLL
14255714Skris#elif defined( __sgi )		/* Newer MIPS */
14355714Skris#  define DES_PTR
14455714Skris#  define DES_RISC2
14555714Skris#  define DES_UNROLL
146109998Smarkm#elif defined(i386) || defined(__i386__)	/* x86 boxes, should be gcc */
14755714Skris#  define DES_PTR
14855714Skris#  define DES_RISC1
14955714Skris#  define DES_UNROLL
15055714Skris#endif /* Systems-specific speed defines */
15155714Skris#endif
15255714Skris
15355714Skris#endif /* DES_DEFAULT_OPTIONS */
15455714Skris#endif /* HEADER_DES_LOCL_H */
155