1294823Sbr/* $FreeBSD$ */ 2294823Sbr/* opensslconf.h */ 3294823Sbr/* RISCVTODO: generate from opensslconf.h.in by Configure. */ 4294823Sbr 5294823Sbr#ifdef __cplusplus 6294823Sbrextern "C" { 7294823Sbr#endif 8294823Sbr/* OpenSSL was configured with the following options: */ 9294823Sbr#ifndef OPENSSL_DOING_MAKEDEPEND 10294823Sbr 11294823Sbr 12294823Sbr#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 13294823Sbr# define OPENSSL_NO_EC_NISTP_64_GCC_128 14294823Sbr#endif 15294823Sbr#ifndef OPENSSL_NO_GMP 16294823Sbr# define OPENSSL_NO_GMP 17294823Sbr#endif 18294823Sbr#ifndef OPENSSL_NO_JPAKE 19294823Sbr# define OPENSSL_NO_JPAKE 20294823Sbr#endif 21294823Sbr#ifndef OPENSSL_NO_KRB5 22294823Sbr# define OPENSSL_NO_KRB5 23294823Sbr#endif 24294823Sbr#ifndef OPENSSL_NO_LIBUNBOUND 25294823Sbr# define OPENSSL_NO_LIBUNBOUND 26294823Sbr#endif 27294823Sbr#ifndef OPENSSL_NO_MD2 28294823Sbr# define OPENSSL_NO_MD2 29294823Sbr#endif 30294823Sbr#ifndef OPENSSL_NO_SCTP 31294823Sbr# define OPENSSL_NO_SCTP 32294823Sbr#endif 33294823Sbr#ifndef OPENSSL_NO_SSL_TRACE 34294823Sbr# define OPENSSL_NO_SSL_TRACE 35294823Sbr#endif 36294823Sbr#ifndef OPENSSL_NO_SSL2 37294823Sbr# define OPENSSL_NO_SSL2 38294823Sbr#endif 39294823Sbr#ifndef OPENSSL_NO_STORE 40294823Sbr# define OPENSSL_NO_STORE 41294823Sbr#endif 42294823Sbr#ifndef OPENSSL_NO_UNIT_TEST 43294823Sbr# define OPENSSL_NO_UNIT_TEST 44294823Sbr#endif 45296279Sjkim#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS 46296279Sjkim# define OPENSSL_NO_WEAK_SSL_CIPHERS 47296279Sjkim#endif 48294823Sbr 49294823Sbr#endif /* OPENSSL_DOING_MAKEDEPEND */ 50294823Sbr 51294823Sbr#ifndef OPENSSL_THREADS 52294823Sbr# define OPENSSL_THREADS 53294823Sbr#endif 54304320Sjkim%%NO_ASM%%#ifndef OPENSSL_NO_ASM 55304320Sjkim%%NO_ASM%%# define OPENSSL_NO_ASM 56304320Sjkim%%NO_ASM%%#endif 57294823Sbr#ifndef OPENSSL_NO_STATIC_ENGINE 58294823Sbr# define OPENSSL_NO_STATIC_ENGINE 59294823Sbr#endif 60294823Sbr 61294823Sbr/* The OPENSSL_NO_* macros are also defined as NO_* if the application 62294823Sbr asks for it. This is a transient feature that is provided for those 63294823Sbr who haven't had the time to do the appropriate changes in their 64294823Sbr applications. */ 65294823Sbr#ifdef OPENSSL_ALGORITHM_DEFINES 66294823Sbr# if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128) 67294823Sbr# define NO_EC_NISTP_64_GCC_128 68294823Sbr# endif 69294823Sbr# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP) 70294823Sbr# define NO_GMP 71294823Sbr# endif 72294823Sbr# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE) 73294823Sbr# define NO_JPAKE 74294823Sbr# endif 75294823Sbr# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5) 76294823Sbr# define NO_KRB5 77294823Sbr# endif 78294823Sbr# if defined(OPENSSL_NO_LIBUNBOUND) && !defined(NO_LIBUNBOUND) 79294823Sbr# define NO_LIBUNBOUND 80294823Sbr# endif 81294823Sbr# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2) 82294823Sbr# define NO_MD2 83294823Sbr# endif 84294823Sbr# if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP) 85294823Sbr# define NO_SCTP 86294823Sbr# endif 87294823Sbr# if defined(OPENSSL_NO_SSL_TRACE) && !defined(NO_SSL_TRACE) 88294823Sbr# define NO_SSL_TRACE 89294823Sbr# endif 90294823Sbr# if defined(OPENSSL_NO_SSL2) && !defined(NO_SSL2) 91294823Sbr# define NO_SSL2 92294823Sbr# endif 93294823Sbr# if defined(OPENSSL_NO_STORE) && !defined(NO_STORE) 94294823Sbr# define NO_STORE 95294823Sbr# endif 96294823Sbr# if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST) 97294823Sbr# define NO_UNIT_TEST 98294823Sbr# endif 99296279Sjkim# if defined(OPENSSL_NO_WEAK_SSL_CIPHERS) && !defined(NO_WEAK_SSL_CIPHERS) 100296279Sjkim# define NO_WEAK_SSL_CIPHERS 101296279Sjkim# endif 102294823Sbr#endif 103294823Sbr 104294823Sbr/* crypto/opensslconf.h.in */ 105294823Sbr 106294823Sbr/* Generate 80386 code? */ 107294823Sbr#undef I386_ONLY 108294823Sbr 109294823Sbr#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */ 110294823Sbr#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) 111294823Sbr#define ENGINESDIR "/usr/lib/engines" 112294823Sbr#define OPENSSLDIR "/etc/ssl" 113294823Sbr#endif 114294823Sbr#endif 115294823Sbr 116294823Sbr#undef OPENSSL_UNISTD 117294823Sbr#define OPENSSL_UNISTD <unistd.h> 118294823Sbr 119294823Sbr#undef OPENSSL_EXPORT_VAR_AS_FUNCTION 120294823Sbr 121294823Sbr#if defined(HEADER_IDEA_H) && !defined(IDEA_INT) 122294823Sbr#define IDEA_INT unsigned int 123294823Sbr#endif 124294823Sbr 125294823Sbr#if defined(HEADER_MD2_H) && !defined(MD2_INT) 126294823Sbr#define MD2_INT unsigned int 127294823Sbr#endif 128294823Sbr 129294823Sbr#if defined(HEADER_RC2_H) && !defined(RC2_INT) 130294823Sbr/* I need to put in a mod for the alpha - eay */ 131294823Sbr#define RC2_INT unsigned int 132294823Sbr#endif 133294823Sbr 134294823Sbr#if defined(HEADER_RC4_H) 135294823Sbr#if !defined(RC4_INT) 136294823Sbr/* using int types make the structure larger but make the code faster 137294823Sbr * on most boxes I have tested - up to %20 faster. */ 138294823Sbr/* 139294823Sbr * I don't know what does "most" mean, but declaring "int" is a must on: 140294823Sbr * - Intel P6 because partial register stalls are very expensive; 141294823Sbr * - elder Alpha because it lacks byte load/store instructions; 142294823Sbr */ 143294823Sbr#define RC4_INT unsigned int 144294823Sbr#endif 145294823Sbr#if !defined(RC4_CHUNK) 146294823Sbr/* 147294823Sbr * This enables code handling data aligned at natural CPU word 148294823Sbr * boundary. See crypto/rc4/rc4_enc.c for further details. 149294823Sbr */ 150294823Sbr#undef RC4_CHUNK 151294823Sbr#endif 152294823Sbr#endif 153294823Sbr 154294823Sbr#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) 155294823Sbr/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a 156294823Sbr * %20 speed up (longs are 8 bytes, int's are 4). */ 157294823Sbr#ifndef DES_LONG 158294823Sbr#define DES_LONG unsigned int 159294823Sbr#endif 160294823Sbr#endif 161294823Sbr 162294823Sbr#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) 163294823Sbr#define CONFIG_HEADER_BN_H 164294823Sbr#undef BN_LLONG 165294823Sbr 166294823Sbr/* Should we define BN_DIV2W here? */ 167294823Sbr 168294823Sbr/* Only one for the following should be defined */ 169294823Sbr#define SIXTY_FOUR_BIT_LONG 170294823Sbr#undef SIXTY_FOUR_BIT 171294823Sbr#undef THIRTY_TWO_BIT 172294823Sbr#endif 173294823Sbr 174294823Sbr#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) 175294823Sbr#define CONFIG_HEADER_RC4_LOCL_H 176294823Sbr/* if this is defined data[i] is used instead of *data, this is a %20 177294823Sbr * speedup on x86 */ 178294823Sbr#define RC4_INDEX 179294823Sbr#endif 180294823Sbr 181294823Sbr#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) 182294823Sbr#define CONFIG_HEADER_BF_LOCL_H 183294823Sbr#undef BF_PTR 184294823Sbr#endif /* HEADER_BF_LOCL_H */ 185294823Sbr 186294823Sbr#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) 187294823Sbr#define CONFIG_HEADER_DES_LOCL_H 188294823Sbr#ifndef DES_DEFAULT_OPTIONS 189294823Sbr/* the following is tweaked from a config script, that is why it is a 190294823Sbr * protected undef/define */ 191294823Sbr#ifndef DES_PTR 192294823Sbr#define DES_PTR 193294823Sbr#endif 194294823Sbr 195294823Sbr/* This helps C compiler generate the correct code for multiple functional 196294823Sbr * units. It reduces register dependancies at the expense of 2 more 197294823Sbr * registers */ 198294823Sbr#ifndef DES_RISC1 199294823Sbr#define DES_RISC1 200294823Sbr#endif 201294823Sbr 202294823Sbr#ifndef DES_RISC2 203294823Sbr#undef DES_RISC2 204294823Sbr#endif 205294823Sbr 206294823Sbr#if defined(DES_RISC1) && defined(DES_RISC2) 207294823Sbr#error YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! 208294823Sbr#endif 209294823Sbr 210294823Sbr/* Unroll the inner loop, this sometimes helps, sometimes hinders. 211294823Sbr * Very mucy CPU dependant */ 212294823Sbr#ifndef DES_UNROLL 213294823Sbr#define DES_UNROLL 214294823Sbr#endif 215294823Sbr 216294823Sbr/* These default values were supplied by 217294823Sbr * Peter Gutman <pgut001@cs.auckland.ac.nz> 218294823Sbr * They are only used if nothing else has been defined */ 219294823Sbr#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) 220294823Sbr/* Special defines which change the way the code is built depending on the 221294823Sbr CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find 222294823Sbr even newer MIPS CPU's, but at the moment one size fits all for 223294823Sbr optimization options. Older Sparc's work better with only UNROLL, but 224294823Sbr there's no way to tell at compile time what it is you're running on */ 225294823Sbr 226296279Sjkim#if defined( __sun ) || defined ( sun ) /* Newer Sparc's */ 227294823Sbr# define DES_PTR 228294823Sbr# define DES_RISC1 229294823Sbr# define DES_UNROLL 230294823Sbr#elif defined( __ultrix ) /* Older MIPS */ 231294823Sbr# define DES_PTR 232294823Sbr# define DES_RISC2 233294823Sbr# define DES_UNROLL 234294823Sbr#elif defined( __osf1__ ) /* Alpha */ 235294823Sbr# define DES_PTR 236294823Sbr# define DES_RISC2 237294823Sbr#elif defined ( _AIX ) /* RS6000 */ 238294823Sbr /* Unknown */ 239294823Sbr#elif defined( __hpux ) /* HP-PA */ 240294823Sbr /* Unknown */ 241294823Sbr#elif defined( __aux ) /* 68K */ 242294823Sbr /* Unknown */ 243294823Sbr#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ 244294823Sbr# define DES_UNROLL 245294823Sbr#elif defined( __sgi ) /* Newer MIPS */ 246294823Sbr# define DES_PTR 247294823Sbr# define DES_RISC2 248294823Sbr# define DES_UNROLL 249294823Sbr#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ 250294823Sbr# define DES_PTR 251294823Sbr# define DES_RISC1 252294823Sbr# define DES_UNROLL 253294823Sbr#endif /* Systems-specific speed defines */ 254294823Sbr#endif 255294823Sbr 256294823Sbr#endif /* DES_DEFAULT_OPTIONS */ 257294823Sbr#endif /* HEADER_DES_LOCL_H */ 258294823Sbr#ifdef __cplusplus 259294823Sbr} 260294823Sbr#endif 261