opensslconf-powerpc.h revision 160819
196643Sobrien/* $FreeBSD: head/secure/lib/libcrypto/opensslconf-powerpc.h 160819 2006-07-29 19:41:41Z simon $ */
296643Sobrien/* opensslconf.h */
396643Sobrien/* WARNING: Generated automatically from opensslconf.h.in by Configure. */
496643Sobrien
596643Sobrien/* OpenSSL was configured with the following options: */
6160819Ssimon#ifndef OPENSSL_DOING_MAKEDEPEND
7160819Ssimon
8160819Ssimon/* libgmp is not in the FreeBSD base system. */
9160819Ssimon#ifndef OPENSSL_NO_GMP
10160819Ssimon# define OPENSSL_NO_GMP
11160819Ssimon#endif
12160819Ssimon/* The Kerberos 5 support is MIT-specific. */
13160819Ssimon#ifndef OPENSSL_NO_KRB5
14160819Ssimon# define OPENSSL_NO_KRB5
15160819Ssimon#endif
16160819Ssimon
17160819Ssimon#endif /* OPENSSL_DOING_MAKEDEPEND */
18160819Ssimon#ifndef OPENSSL_THREADS
19160819Ssimon# define OPENSSL_THREADS
20160819Ssimon#endif
21160819Ssimon#ifndef OPENSSL_NO_STATIC_ENGINE
22160819Ssimon# define OPENSSL_NO_STATIC_ENGINE
23160819Ssimon#endif
24160819Ssimon
25160819Ssimon/* The OPENSSL_NO_* macros are also defined as NO_* if the application
26160819Ssimon   asks for it.  This is a transient feature that is provided for those
27160819Ssimon   who haven't had the time to do the appropriate changes in their
28160819Ssimon   applications.  */
2996643Sobrien#ifdef OPENSSL_ALGORITHM_DEFINES
30160819Ssimon# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP)
31160819Ssimon#  define NO_GMP
3296643Sobrien# endif
33160819Ssimon# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5)
34160819Ssimon#  define NO_KRB5
35160819Ssimon# endif
36160819Ssimon# endif
3796643Sobrien#ifdef OPENSSL_OTHER_DEFINES
3896643Sobrien# ifndef NO_ASM
3996643Sobrien#  define NO_ASM
4096643Sobrien# endif
4196643Sobrien#endif
4296643Sobrien
4396643Sobrien/* crypto/opensslconf.h.in */
4496643Sobrien
4596643Sobrien/* Generate 80386 code? */
4696643Sobrien#undef I386_ONLY
4796643Sobrien
4896643Sobrien#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
4996643Sobrien#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
50160819Ssimon#define ENGINESDIR "/usr/lib/engines"
5196643Sobrien#define OPENSSLDIR "/etc/ssl"
5296643Sobrien#endif
5396643Sobrien#endif
5496643Sobrien
55160819Ssimon#undef OPENSSL_UNISTD
5696643Sobrien#define OPENSSL_UNISTD <unistd.h>
5796643Sobrien
58160819Ssimon#undef OPENSSL_EXPORT_VAR_AS_FUNCTION
59160819Ssimon
6096643Sobrien#if defined(HEADER_IDEA_H) && !defined(IDEA_INT)
6196643Sobrien#define IDEA_INT unsigned int
6296643Sobrien#endif
6396643Sobrien
6496643Sobrien#if defined(HEADER_MD2_H) && !defined(MD2_INT)
6596643Sobrien#define MD2_INT unsigned int
6696643Sobrien#endif
6796643Sobrien
6896643Sobrien#if defined(HEADER_RC2_H) && !defined(RC2_INT)
6996643Sobrien/* I need to put in a mod for the alpha - eay */
7096643Sobrien#define RC2_INT unsigned int
7196643Sobrien#endif
7296643Sobrien
7396643Sobrien#if defined(HEADER_RC4_H)
7496643Sobrien#if !defined(RC4_INT)
7596643Sobrien/* using int types make the structure larger but make the code faster
7696643Sobrien * on most boxes I have tested - up to %20 faster. */
7796643Sobrien/*
7896643Sobrien * I don't know what does "most" mean, but declaring "int" is a must on:
7996643Sobrien * - Intel P6 because partial register stalls are very expensive;
8096643Sobrien * - elder Alpha because it lacks byte load/store instructions;
8196643Sobrien */
8296643Sobrien#define RC4_INT unsigned int
8396643Sobrien#endif
8496643Sobrien#if !defined(RC4_CHUNK)
8596643Sobrien/*
8696643Sobrien * This enables code handling data aligned at natural CPU word
8796643Sobrien * boundary. See crypto/rc4/rc4_enc.c for further details.
8896643Sobrien */
8996643Sobrien#undef RC4_CHUNK
9096643Sobrien#endif
9196643Sobrien#endif
9296643Sobrien
93160819Ssimon#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG)
9496643Sobrien/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
9596643Sobrien * %20 speed up (longs are 8 bytes, int's are 4). */
9696643Sobrien#ifndef DES_LONG
9796643Sobrien#define DES_LONG unsigned long
9896643Sobrien#endif
9996643Sobrien#endif
10096643Sobrien
10196643Sobrien#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)
10296643Sobrien#define CONFIG_HEADER_BN_H
10396643Sobrien#define BN_LLONG
10496643Sobrien
10596643Sobrien/* Should we define BN_DIV2W here? */
10696643Sobrien
10796643Sobrien/* Only one for the following should be defined */
10896643Sobrien/* The prime number generation stuff may not work when
10996643Sobrien * EIGHT_BIT but I don't care since I've only used this mode
11096643Sobrien * for debuging the bignum libraries */
11196643Sobrien#undef SIXTY_FOUR_BIT_LONG
11296643Sobrien#undef SIXTY_FOUR_BIT
11396643Sobrien#define THIRTY_TWO_BIT
11496643Sobrien#undef SIXTEEN_BIT
11596643Sobrien#undef EIGHT_BIT
11696643Sobrien#endif
11796643Sobrien
11896643Sobrien#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H)
11996643Sobrien#define CONFIG_HEADER_RC4_LOCL_H
12096643Sobrien/* if this is defined data[i] is used instead of *data, this is a %20
12196643Sobrien * speedup on x86 */
12296643Sobrien#define RC4_INDEX
12396643Sobrien#endif
12496643Sobrien
12596643Sobrien#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H)
12696643Sobrien#define CONFIG_HEADER_BF_LOCL_H
12796643Sobrien#undef BF_PTR
12896643Sobrien#endif /* HEADER_BF_LOCL_H */
12996643Sobrien
13096643Sobrien#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H)
13196643Sobrien#define CONFIG_HEADER_DES_LOCL_H
13296643Sobrien#ifndef DES_DEFAULT_OPTIONS
13396643Sobrien/* the following is tweaked from a config script, that is why it is a
13496643Sobrien * protected undef/define */
13596643Sobrien#ifndef DES_PTR
13696643Sobrien#define DES_PTR
13796643Sobrien#endif
13896643Sobrien
13996643Sobrien/* This helps C compiler generate the correct code for multiple functional
14096643Sobrien * units.  It reduces register dependancies at the expense of 2 more
14196643Sobrien * registers */
14296643Sobrien#ifndef DES_RISC1
14396643Sobrien#define DES_RISC1
14496643Sobrien#endif
14596643Sobrien
14696643Sobrien#ifndef DES_RISC2
14796643Sobrien#undef DES_RISC2
14896643Sobrien#endif
14996643Sobrien
15096643Sobrien#if defined(DES_RISC1) && defined(DES_RISC2)
15196643SobrienYOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!!
15296643Sobrien#endif
15396643Sobrien
15496643Sobrien/* Unroll the inner loop, this sometimes helps, sometimes hinders.
15596643Sobrien * Very mucy CPU dependant */
15696643Sobrien#ifndef DES_UNROLL
15796643Sobrien#define DES_UNROLL
15896643Sobrien#endif
15996643Sobrien
16096643Sobrien/* These default values were supplied by
16196643Sobrien * Peter Gutman <pgut001@cs.auckland.ac.nz>
16296643Sobrien * They are only used if nothing else has been defined */
16396643Sobrien#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL)
16496643Sobrien/* Special defines which change the way the code is built depending on the
16596643Sobrien   CPU and OS.  For SGI machines you can use _MIPS_SZLONG (32 or 64) to find
16696643Sobrien   even newer MIPS CPU's, but at the moment one size fits all for
16796643Sobrien   optimization options.  Older Sparc's work better with only UNROLL, but
16896643Sobrien   there's no way to tell at compile time what it is you're running on */
16996643Sobrien
17096643Sobrien#if defined( sun )		/* Newer Sparc's */
17196643Sobrien#  define DES_PTR
17296643Sobrien#  define DES_RISC1
17396643Sobrien#  define DES_UNROLL
17496643Sobrien#elif defined( __ultrix )	/* Older MIPS */
17596643Sobrien#  define DES_PTR
17696643Sobrien#  define DES_RISC2
17796643Sobrien#  define DES_UNROLL
17896643Sobrien#elif defined( __osf1__ )	/* Alpha */
17996643Sobrien#  define DES_PTR
18096643Sobrien#  define DES_RISC2
18196643Sobrien#elif defined ( _AIX )		/* RS6000 */
18296643Sobrien  /* Unknown */
18396643Sobrien#elif defined( __hpux )		/* HP-PA */
18496643Sobrien  /* Unknown */
18596643Sobrien#elif defined( __aux )		/* 68K */
18696643Sobrien  /* Unknown */
18796643Sobrien#elif defined( __dgux )		/* 88K (but P6 in latest boxes) */
18896643Sobrien#  define DES_UNROLL
18996643Sobrien#elif defined( __sgi )		/* Newer MIPS */
19096643Sobrien#  define DES_PTR
19196643Sobrien#  define DES_RISC2
19296643Sobrien#  define DES_UNROLL
19396643Sobrien#elif defined( i386 )		/* x86 boxes, should be gcc */
19496643Sobrien#  define DES_PTR
19596643Sobrien#  define DES_RISC1
19696643Sobrien#  define DES_UNROLL
19796643Sobrien#endif /* Systems-specific speed defines */
19896643Sobrien#endif
19996643Sobrien
20096643Sobrien#endif /* DES_DEFAULT_OPTIONS */
20196643Sobrien#endif /* HEADER_DES_LOCL_H */
202