196643Sobrien/* $FreeBSD: releng/10.3/secure/lib/libcrypto/opensslconf-powerpc.h 296371 2016-03-04 00:40:15Z jkim $ */
296643Sobrien/* opensslconf.h */
396643Sobrien/* WARNING: Generated automatically from opensslconf.h.in by Configure. */
496643Sobrien
5280304Sjkim#ifdef  __cplusplus
6280304Sjkimextern "C" {
7280304Sjkim#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
33280304Sjkim#ifndef OPENSSL_NO_UNIT_TEST
34280304Sjkim# define OPENSSL_NO_UNIT_TEST
35280304Sjkim#endif
36296317Sdelphij#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
37296317Sdelphij# define OPENSSL_NO_WEAK_SSL_CIPHERS
38296317Sdelphij#endif
39160819Ssimon
40160819Ssimon#endif /* OPENSSL_DOING_MAKEDEPEND */
41238405Sjkim
42160819Ssimon#ifndef OPENSSL_THREADS
43160819Ssimon# define OPENSSL_THREADS
44160819Ssimon#endif
45238405Sjkim#ifndef OPENSSL_NO_ASM
46238405Sjkim# define OPENSSL_NO_ASM
47238405Sjkim#endif
48160819Ssimon#ifndef OPENSSL_NO_STATIC_ENGINE
49160819Ssimon# define OPENSSL_NO_STATIC_ENGINE
50160819Ssimon#endif
51160819Ssimon
52160819Ssimon/* The OPENSSL_NO_* macros are also defined as NO_* if the application
53160819Ssimon   asks for it.  This is a transient feature that is provided for those
54160819Ssimon   who haven't had the time to do the appropriate changes in their
55160819Ssimon   applications.  */
5696643Sobrien#ifdef OPENSSL_ALGORITHM_DEFINES
57238405Sjkim# if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128)
58238405Sjkim#  define NO_EC_NISTP_64_GCC_128
59238405Sjkim# endif
60160819Ssimon# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP)
61160819Ssimon#  define NO_GMP
6296643Sobrien# endif
63238405Sjkim# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE)
64238405Sjkim#  define NO_JPAKE
65238405Sjkim# endif
66160819Ssimon# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5)
67160819Ssimon#  define NO_KRB5
68160819Ssimon# endif
69238405Sjkim# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2)
70238405Sjkim#  define NO_MD2
71160819Ssimon# endif
72238405Sjkim# if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP)
73238405Sjkim#  define NO_SCTP
7496643Sobrien# endif
75238405Sjkim# if defined(OPENSSL_NO_STORE) && !defined(NO_STORE)
76238405Sjkim#  define NO_STORE
77238405Sjkim# endif
78280304Sjkim# if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST)
79280304Sjkim#  define NO_UNIT_TEST
80280304Sjkim# endif
81296317Sdelphij# if defined(OPENSSL_NO_WEAK_SSL_CIPHERS) && !defined(NO_WEAK_SSL_CIPHERS)
82296317Sdelphij#  define NO_WEAK_SSL_CIPHERS
83296317Sdelphij# endif
8496643Sobrien#endif
8596643Sobrien
8696643Sobrien/* crypto/opensslconf.h.in */
8796643Sobrien
8896643Sobrien/* Generate 80386 code? */
8996643Sobrien#undef I386_ONLY
9096643Sobrien
9196643Sobrien#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
9296643Sobrien#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
93160819Ssimon#define ENGINESDIR "/usr/lib/engines"
9496643Sobrien#define OPENSSLDIR "/etc/ssl"
9596643Sobrien#endif
9696643Sobrien#endif
9796643Sobrien
98160819Ssimon#undef OPENSSL_UNISTD
9996643Sobrien#define OPENSSL_UNISTD <unistd.h>
10096643Sobrien
101160819Ssimon#undef OPENSSL_EXPORT_VAR_AS_FUNCTION
102160819Ssimon
10396643Sobrien#if defined(HEADER_IDEA_H) && !defined(IDEA_INT)
10496643Sobrien#define IDEA_INT unsigned int
10596643Sobrien#endif
10696643Sobrien
10796643Sobrien#if defined(HEADER_MD2_H) && !defined(MD2_INT)
10896643Sobrien#define MD2_INT unsigned int
10996643Sobrien#endif
11096643Sobrien
11196643Sobrien#if defined(HEADER_RC2_H) && !defined(RC2_INT)
11296643Sobrien/* I need to put in a mod for the alpha - eay */
11396643Sobrien#define RC2_INT unsigned int
11496643Sobrien#endif
11596643Sobrien
11696643Sobrien#if defined(HEADER_RC4_H)
11796643Sobrien#if !defined(RC4_INT)
11896643Sobrien/* using int types make the structure larger but make the code faster
11996643Sobrien * on most boxes I have tested - up to %20 faster. */
12096643Sobrien/*
12196643Sobrien * I don't know what does "most" mean, but declaring "int" is a must on:
12296643Sobrien * - Intel P6 because partial register stalls are very expensive;
12396643Sobrien * - elder Alpha because it lacks byte load/store instructions;
12496643Sobrien */
12596643Sobrien#define RC4_INT unsigned int
12696643Sobrien#endif
12796643Sobrien#if !defined(RC4_CHUNK)
12896643Sobrien/*
12996643Sobrien * This enables code handling data aligned at natural CPU word
13096643Sobrien * boundary. See crypto/rc4/rc4_enc.c for further details.
13196643Sobrien */
13296643Sobrien#undef RC4_CHUNK
13396643Sobrien#endif
13496643Sobrien#endif
13596643Sobrien
136160819Ssimon#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG)
13796643Sobrien/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
13896643Sobrien * %20 speed up (longs are 8 bytes, int's are 4). */
13996643Sobrien#ifndef DES_LONG
140211934Snwhitehorn#define DES_LONG unsigned int
14196643Sobrien#endif
14296643Sobrien#endif
14396643Sobrien
14496643Sobrien#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)
14596643Sobrien#define CONFIG_HEADER_BN_H
146211934Snwhitehorn#ifdef __powerpc64__
147211934Snwhitehorn#undef BN_LLONG
148211934Snwhitehorn#else
14996643Sobrien#define BN_LLONG
150211934Snwhitehorn#endif
15196643Sobrien
15296643Sobrien/* Should we define BN_DIV2W here? */
15396643Sobrien
15496643Sobrien/* Only one for the following should be defined */
155211934Snwhitehorn#ifdef __powerpc64__
156211934Snwhitehorn#define SIXTY_FOUR_BIT_LONG
157211934Snwhitehorn#undef THIRTY_TWO_BIT
158211934Snwhitehorn#else
15996643Sobrien#undef SIXTY_FOUR_BIT_LONG
160211934Snwhitehorn#define THIRTY_TWO_BIT
161211934Snwhitehorn#endif
16296643Sobrien#undef SIXTY_FOUR_BIT
16396643Sobrien#endif
16496643Sobrien
16596643Sobrien#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H)
16696643Sobrien#define CONFIG_HEADER_RC4_LOCL_H
16796643Sobrien/* if this is defined data[i] is used instead of *data, this is a %20
16896643Sobrien * speedup on x86 */
16996643Sobrien#define RC4_INDEX
17096643Sobrien#endif
17196643Sobrien
17296643Sobrien#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H)
17396643Sobrien#define CONFIG_HEADER_BF_LOCL_H
17496643Sobrien#undef BF_PTR
17596643Sobrien#endif /* HEADER_BF_LOCL_H */
17696643Sobrien
17796643Sobrien#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H)
17896643Sobrien#define CONFIG_HEADER_DES_LOCL_H
17996643Sobrien#ifndef DES_DEFAULT_OPTIONS
18096643Sobrien/* the following is tweaked from a config script, that is why it is a
18196643Sobrien * protected undef/define */
18296643Sobrien#ifndef DES_PTR
18396643Sobrien#define DES_PTR
18496643Sobrien#endif
18596643Sobrien
18696643Sobrien/* This helps C compiler generate the correct code for multiple functional
18796643Sobrien * units.  It reduces register dependancies at the expense of 2 more
18896643Sobrien * registers */
18996643Sobrien#ifndef DES_RISC1
19096643Sobrien#define DES_RISC1
19196643Sobrien#endif
19296643Sobrien
19396643Sobrien#ifndef DES_RISC2
19496643Sobrien#undef DES_RISC2
19596643Sobrien#endif
19696643Sobrien
19796643Sobrien#if defined(DES_RISC1) && defined(DES_RISC2)
19896643SobrienYOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!!
19996643Sobrien#endif
20096643Sobrien
20196643Sobrien/* Unroll the inner loop, this sometimes helps, sometimes hinders.
20296643Sobrien * Very mucy CPU dependant */
20396643Sobrien#ifndef DES_UNROLL
20496643Sobrien#define DES_UNROLL
20596643Sobrien#endif
20696643Sobrien
20796643Sobrien/* These default values were supplied by
20896643Sobrien * Peter Gutman <pgut001@cs.auckland.ac.nz>
20996643Sobrien * They are only used if nothing else has been defined */
21096643Sobrien#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL)
21196643Sobrien/* Special defines which change the way the code is built depending on the
21296643Sobrien   CPU and OS.  For SGI machines you can use _MIPS_SZLONG (32 or 64) to find
21396643Sobrien   even newer MIPS CPU's, but at the moment one size fits all for
21496643Sobrien   optimization options.  Older Sparc's work better with only UNROLL, but
21596643Sobrien   there's no way to tell at compile time what it is you're running on */
21696643Sobrien
21796643Sobrien#if defined( sun )		/* Newer Sparc's */
21896643Sobrien#  define DES_PTR
21996643Sobrien#  define DES_RISC1
22096643Sobrien#  define DES_UNROLL
22196643Sobrien#elif defined( __ultrix )	/* Older MIPS */
22296643Sobrien#  define DES_PTR
22396643Sobrien#  define DES_RISC2
22496643Sobrien#  define DES_UNROLL
22596643Sobrien#elif defined( __osf1__ )	/* Alpha */
22696643Sobrien#  define DES_PTR
22796643Sobrien#  define DES_RISC2
22896643Sobrien#elif defined ( _AIX )		/* RS6000 */
22996643Sobrien  /* Unknown */
23096643Sobrien#elif defined( __hpux )		/* HP-PA */
23196643Sobrien  /* Unknown */
23296643Sobrien#elif defined( __aux )		/* 68K */
23396643Sobrien  /* Unknown */
23496643Sobrien#elif defined( __dgux )		/* 88K (but P6 in latest boxes) */
23596643Sobrien#  define DES_UNROLL
23696643Sobrien#elif defined( __sgi )		/* Newer MIPS */
23796643Sobrien#  define DES_PTR
23896643Sobrien#  define DES_RISC2
23996643Sobrien#  define DES_UNROLL
240238405Sjkim#elif defined(i386) || defined(__i386__)	/* x86 boxes, should be gcc */
24196643Sobrien#  define DES_PTR
24296643Sobrien#  define DES_RISC1
24396643Sobrien#  define DES_UNROLL
24496643Sobrien#endif /* Systems-specific speed defines */
24596643Sobrien#endif
24696643Sobrien
24796643Sobrien#endif /* DES_DEFAULT_OPTIONS */
24896643Sobrien#endif /* HEADER_DES_LOCL_H */
249280304Sjkim#ifdef  __cplusplus
250280304Sjkim}
251280304Sjkim#endif
252