1238405Sjkim/* $FreeBSD: releng/10.3/secure/lib/libcrypto/opensslconf-x86.h 296371 2016-03-04 00:40:15Z jkim $ */ 2238405Sjkim/* opensslconf.h */ 3238405Sjkim/* WARNING: Generated automatically from opensslconf.h.in by Configure. */ 4238405Sjkim 5280304Sjkim#ifdef __cplusplus 6280304Sjkimextern "C" { 7280304Sjkim#endif 8238405Sjkim/* OpenSSL was configured with the following options: */ 9238405Sjkim#ifndef OPENSSL_DOING_MAKEDEPEND 10238405Sjkim 11238405Sjkim 12238405Sjkim#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 13238405Sjkim# define OPENSSL_NO_EC_NISTP_64_GCC_128 14238405Sjkim#endif 15238405Sjkim#ifndef OPENSSL_NO_GMP 16238405Sjkim# define OPENSSL_NO_GMP 17238405Sjkim#endif 18238405Sjkim#ifndef OPENSSL_NO_JPAKE 19238405Sjkim# define OPENSSL_NO_JPAKE 20238405Sjkim#endif 21238405Sjkim#ifndef OPENSSL_NO_KRB5 22238405Sjkim# define OPENSSL_NO_KRB5 23238405Sjkim#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 39238405Sjkim 40238405Sjkim#endif /* OPENSSL_DOING_MAKEDEPEND */ 41238405Sjkim 42238405Sjkim#ifndef OPENSSL_THREADS 43238405Sjkim# define OPENSSL_THREADS 44238405Sjkim#endif 45238405Sjkim#ifndef OPENSSL_NO_STATIC_ENGINE 46238405Sjkim# define OPENSSL_NO_STATIC_ENGINE 47238405Sjkim#endif 48238405Sjkim 49238405Sjkim/* The OPENSSL_NO_* macros are also defined as NO_* if the application 50238405Sjkim asks for it. This is a transient feature that is provided for those 51238405Sjkim who haven't had the time to do the appropriate changes in their 52238405Sjkim applications. */ 53238405Sjkim#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 57238405Sjkim# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP) 58238405Sjkim# define NO_GMP 59238405Sjkim# endif 60238405Sjkim# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE) 61238405Sjkim# define NO_JPAKE 62238405Sjkim# endif 63238405Sjkim# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5) 64238405Sjkim# define NO_KRB5 65238405Sjkim# endif 66238405Sjkim# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2) 67238405Sjkim# define NO_MD2 68238405Sjkim# endif 69238405Sjkim# if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP) 70238405Sjkim# define NO_SCTP 71238405Sjkim# endif 72238405Sjkim# if defined(OPENSSL_NO_STORE) && !defined(NO_STORE) 73238405Sjkim# define NO_STORE 74238405Sjkim# endif 75280304Sjkim# if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST) 76280304Sjkim# define NO_UNIT_TEST 77280304Sjkim# endif 78296317Sdelphij# if defined(OPENSSL_NO_WEAK_SSL_CIPHERS) && !defined(NO_WEAK_SSL_CIPHERS) 79296317Sdelphij# define NO_WEAK_SSL_CIPHERS 80296317Sdelphij# endif 81238405Sjkim#endif 82238405Sjkim 83238405Sjkim#define OPENSSL_CPUID_OBJ 84238405Sjkim 85238405Sjkim/* crypto/opensslconf.h.in */ 86238405Sjkim 87238405Sjkim/* Generate 80386 code? */ 88238405Sjkim#undef I386_ONLY 89238405Sjkim 90238405Sjkim#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */ 91238405Sjkim#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) 92238405Sjkim#define ENGINESDIR "/usr/lib/engines" 93238405Sjkim#define OPENSSLDIR "/etc/ssl" 94238405Sjkim#endif 95238405Sjkim#endif 96238405Sjkim 97238405Sjkim#undef OPENSSL_UNISTD 98238405Sjkim#define OPENSSL_UNISTD <unistd.h> 99238405Sjkim 100238405Sjkim#undef OPENSSL_EXPORT_VAR_AS_FUNCTION 101238405Sjkim 102238405Sjkim#if defined(HEADER_IDEA_H) && !defined(IDEA_INT) 103238405Sjkim#define IDEA_INT unsigned int 104238405Sjkim#endif 105238405Sjkim 106238405Sjkim#if defined(HEADER_MD2_H) && !defined(MD2_INT) 107238405Sjkim#define MD2_INT unsigned int 108238405Sjkim#endif 109238405Sjkim 110238405Sjkim#if defined(HEADER_RC2_H) && !defined(RC2_INT) 111238405Sjkim/* I need to put in a mod for the alpha - eay */ 112238405Sjkim#define RC2_INT unsigned int 113238405Sjkim#endif 114238405Sjkim 115238405Sjkim#if defined(HEADER_RC4_H) 116238405Sjkim#if !defined(RC4_INT) 117238405Sjkim/* using int types make the structure larger but make the code faster 118238405Sjkim * on most boxes I have tested - up to %20 faster. */ 119238405Sjkim/* 120238405Sjkim * I don't know what does "most" mean, but declaring "int" is a must on: 121238405Sjkim * - Intel P6 because partial register stalls are very expensive; 122238405Sjkim * - elder Alpha because it lacks byte load/store instructions; 123238405Sjkim */ 124238405Sjkim#define RC4_INT unsigned int 125238405Sjkim#endif 126238405Sjkim#if !defined(RC4_CHUNK) 127238405Sjkim/* 128238405Sjkim * This enables code handling data aligned at natural CPU word 129238405Sjkim * boundary. See crypto/rc4/rc4_enc.c for further details. 130238405Sjkim */ 131238405Sjkim#ifdef __LP64__ 132238405Sjkim#define RC4_CHUNK unsigned long 133238405Sjkim#else 134238405Sjkim#undef RC4_CHUNK 135238405Sjkim#endif 136238405Sjkim#endif 137238405Sjkim#endif 138238405Sjkim 139238405Sjkim#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) 140238405Sjkim/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a 141238405Sjkim * %20 speed up (longs are 8 bytes, int's are 4). */ 142238405Sjkim#ifndef DES_LONG 143238405Sjkim#ifdef __LP64__ 144238405Sjkim#define DES_LONG unsigned int 145238405Sjkim#else 146238405Sjkim#define DES_LONG unsigned long 147238405Sjkim#endif 148238405Sjkim#endif 149238405Sjkim#endif 150238405Sjkim 151238405Sjkim#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) 152238405Sjkim#define CONFIG_HEADER_BN_H 153238405Sjkim#ifdef __LP64__ 154238405Sjkim#undef BN_LLONG 155238405Sjkim#else 156238405Sjkim#define BN_LLONG 157238405Sjkim#endif 158238405Sjkim 159238405Sjkim/* Should we define BN_DIV2W here? */ 160238405Sjkim 161238405Sjkim/* Only one for the following should be defined */ 162238405Sjkim#ifdef __LP64__ 163238405Sjkim#define SIXTY_FOUR_BIT_LONG 164238405Sjkim#undef SIXTY_FOUR_BIT 165238405Sjkim#undef THIRTY_TWO_BIT 166238405Sjkim#else 167238405Sjkim#undef SIXTY_FOUR_BIT_LONG 168238405Sjkim#undef SIXTY_FOUR_BIT 169238405Sjkim#define THIRTY_TWO_BIT 170238405Sjkim#endif 171238405Sjkim#endif 172238405Sjkim 173238405Sjkim#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) 174238405Sjkim#define CONFIG_HEADER_RC4_LOCL_H 175238405Sjkim/* if this is defined data[i] is used instead of *data, this is a %20 176238405Sjkim * speedup on x86 */ 177238405Sjkim#ifdef __LP64__ 178238405Sjkim#undef RC4_INDEX 179238405Sjkim#else 180238405Sjkim#define RC4_INDEX 181238405Sjkim#endif 182238405Sjkim#endif 183238405Sjkim 184238405Sjkim#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) 185238405Sjkim#define CONFIG_HEADER_BF_LOCL_H 186238405Sjkim#undef BF_PTR 187238405Sjkim#endif /* HEADER_BF_LOCL_H */ 188238405Sjkim 189238405Sjkim#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) 190238405Sjkim#define CONFIG_HEADER_DES_LOCL_H 191238405Sjkim#ifndef DES_DEFAULT_OPTIONS 192238405Sjkim/* the following is tweaked from a config script, that is why it is a 193238405Sjkim * protected undef/define */ 194238405Sjkim#ifndef DES_PTR 195238405Sjkim#ifdef __LP64__ 196238405Sjkim#undef DES_PTR 197238405Sjkim#else 198238405Sjkim#define DES_PTR 199238405Sjkim#endif 200238405Sjkim#endif 201238405Sjkim 202238405Sjkim/* This helps C compiler generate the correct code for multiple functional 203238405Sjkim * units. It reduces register dependancies at the expense of 2 more 204238405Sjkim * registers */ 205238405Sjkim#ifndef DES_RISC1 206238405Sjkim#ifdef __LP64__ 207238405Sjkim#undef DES_RISC1 208238405Sjkim#else 209238405Sjkim#define DES_RISC1 210238405Sjkim#endif 211238405Sjkim#endif 212238405Sjkim 213238405Sjkim#ifndef DES_RISC2 214238405Sjkim#undef DES_RISC2 215238405Sjkim#endif 216238405Sjkim 217238405Sjkim#if defined(DES_RISC1) && defined(DES_RISC2) 218238405SjkimYOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! 219238405Sjkim#endif 220238405Sjkim 221238405Sjkim/* Unroll the inner loop, this sometimes helps, sometimes hinders. 222238405Sjkim * Very mucy CPU dependant */ 223238405Sjkim#ifndef DES_UNROLL 224238405Sjkim#define DES_UNROLL 225238405Sjkim#endif 226238405Sjkim 227238405Sjkim/* These default values were supplied by 228238405Sjkim * Peter Gutman <pgut001@cs.auckland.ac.nz> 229238405Sjkim * They are only used if nothing else has been defined */ 230238405Sjkim#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) 231238405Sjkim/* Special defines which change the way the code is built depending on the 232238405Sjkim CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find 233238405Sjkim even newer MIPS CPU's, but at the moment one size fits all for 234238405Sjkim optimization options. Older Sparc's work better with only UNROLL, but 235238405Sjkim there's no way to tell at compile time what it is you're running on */ 236238405Sjkim 237238405Sjkim#if defined( sun ) /* Newer Sparc's */ 238238405Sjkim# define DES_PTR 239238405Sjkim# define DES_RISC1 240238405Sjkim# define DES_UNROLL 241238405Sjkim#elif defined( __ultrix ) /* Older MIPS */ 242238405Sjkim# define DES_PTR 243238405Sjkim# define DES_RISC2 244238405Sjkim# define DES_UNROLL 245238405Sjkim#elif defined( __osf1__ ) /* Alpha */ 246238405Sjkim# define DES_PTR 247238405Sjkim# define DES_RISC2 248238405Sjkim#elif defined ( _AIX ) /* RS6000 */ 249238405Sjkim /* Unknown */ 250238405Sjkim#elif defined( __hpux ) /* HP-PA */ 251238405Sjkim /* Unknown */ 252238405Sjkim#elif defined( __aux ) /* 68K */ 253238405Sjkim /* Unknown */ 254238405Sjkim#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ 255238405Sjkim# define DES_UNROLL 256238405Sjkim#elif defined( __sgi ) /* Newer MIPS */ 257238405Sjkim# define DES_PTR 258238405Sjkim# define DES_RISC2 259238405Sjkim# define DES_UNROLL 260238405Sjkim#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ 261238405Sjkim# define DES_PTR 262238405Sjkim# define DES_RISC1 263238405Sjkim# define DES_UNROLL 264238405Sjkim#endif /* Systems-specific speed defines */ 265238405Sjkim#endif 266238405Sjkim 267238405Sjkim#endif /* DES_DEFAULT_OPTIONS */ 268238405Sjkim#endif /* HEADER_DES_LOCL_H */ 269280304Sjkim#ifdef __cplusplus 270280304Sjkim} 271280304Sjkim#endif 272