1ebfedea0SLionel Sambuc/* crypto/opensslconf.h.in */ 2ebfedea0SLionel Sambuc 3ebfedea0SLionel Sambuc/* Generate 80386 code? */ 4ebfedea0SLionel Sambuc#undef I386_ONLY 5ebfedea0SLionel Sambuc 6ebfedea0SLionel Sambuc#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */ 7ebfedea0SLionel Sambuc#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) 8ebfedea0SLionel Sambuc#define ENGINESDIR "/usr/local/lib/engines" 9ebfedea0SLionel Sambuc#define OPENSSLDIR "/usr/local/ssl" 10ebfedea0SLionel Sambuc#endif 11ebfedea0SLionel Sambuc#endif 12ebfedea0SLionel Sambuc 13ebfedea0SLionel Sambuc#undef OPENSSL_UNISTD 14ebfedea0SLionel Sambuc#define OPENSSL_UNISTD <unistd.h> 15ebfedea0SLionel Sambuc 16ebfedea0SLionel Sambuc#undef OPENSSL_EXPORT_VAR_AS_FUNCTION 17ebfedea0SLionel Sambuc 18ebfedea0SLionel Sambuc#if defined(HEADER_IDEA_H) && !defined(IDEA_INT) 19ebfedea0SLionel Sambuc#define IDEA_INT unsigned int 20ebfedea0SLionel Sambuc#endif 21ebfedea0SLionel Sambuc 22ebfedea0SLionel Sambuc#if defined(HEADER_MD2_H) && !defined(MD2_INT) 23ebfedea0SLionel Sambuc#define MD2_INT unsigned int 24ebfedea0SLionel Sambuc#endif 25ebfedea0SLionel Sambuc 26ebfedea0SLionel Sambuc#if defined(HEADER_RC2_H) && !defined(RC2_INT) 27ebfedea0SLionel Sambuc/* I need to put in a mod for the alpha - eay */ 28ebfedea0SLionel Sambuc#define RC2_INT unsigned int 29ebfedea0SLionel Sambuc#endif 30ebfedea0SLionel Sambuc 31ebfedea0SLionel Sambuc#if defined(HEADER_RC4_H) 32ebfedea0SLionel Sambuc#if !defined(RC4_INT) 33ebfedea0SLionel Sambuc/* using int types make the structure larger but make the code faster 34ebfedea0SLionel Sambuc * on most boxes I have tested - up to %20 faster. */ 35ebfedea0SLionel Sambuc/* 36ebfedea0SLionel Sambuc * I don't know what does "most" mean, but declaring "int" is a must on: 37ebfedea0SLionel Sambuc * - Intel P6 because partial register stalls are very expensive; 38ebfedea0SLionel Sambuc * - elder Alpha because it lacks byte load/store instructions; 39ebfedea0SLionel Sambuc */ 40ebfedea0SLionel Sambuc#define RC4_INT unsigned int 41ebfedea0SLionel Sambuc#endif 42ebfedea0SLionel Sambuc#if !defined(RC4_CHUNK) 43ebfedea0SLionel Sambuc/* 44ebfedea0SLionel Sambuc * This enables code handling data aligned at natural CPU word 45ebfedea0SLionel Sambuc * boundary. See crypto/rc4/rc4_enc.c for further details. 46ebfedea0SLionel Sambuc */ 47ebfedea0SLionel Sambuc#undef RC4_CHUNK 48ebfedea0SLionel Sambuc#endif 49ebfedea0SLionel Sambuc#endif 50ebfedea0SLionel Sambuc 51ebfedea0SLionel Sambuc#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) 52ebfedea0SLionel Sambuc/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a 53ebfedea0SLionel Sambuc * %20 speed up (longs are 8 bytes, int's are 4). */ 54ebfedea0SLionel Sambuc#ifndef DES_LONG 55ebfedea0SLionel Sambuc#define DES_LONG unsigned long 56ebfedea0SLionel Sambuc#endif 57ebfedea0SLionel Sambuc#endif 58ebfedea0SLionel Sambuc 59ebfedea0SLionel Sambuc#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) 60ebfedea0SLionel Sambuc#define CONFIG_HEADER_BN_H 61ebfedea0SLionel Sambuc#undef BN_LLONG 62ebfedea0SLionel Sambuc 63ebfedea0SLionel Sambuc/* Should we define BN_DIV2W here? */ 64ebfedea0SLionel Sambuc 65ebfedea0SLionel Sambuc/* Only one for the following should be defined */ 66ebfedea0SLionel Sambuc#undef SIXTY_FOUR_BIT_LONG 67ebfedea0SLionel Sambuc#undef SIXTY_FOUR_BIT 68ebfedea0SLionel Sambuc#define THIRTY_TWO_BIT 69ebfedea0SLionel Sambuc#endif 70ebfedea0SLionel Sambuc 71ebfedea0SLionel Sambuc#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) 72ebfedea0SLionel Sambuc#define CONFIG_HEADER_RC4_LOCL_H 73ebfedea0SLionel Sambuc/* if this is defined data[i] is used instead of *data, this is a %20 74ebfedea0SLionel Sambuc * speedup on x86 */ 75ebfedea0SLionel Sambuc#undef RC4_INDEX 76ebfedea0SLionel Sambuc#endif 77ebfedea0SLionel Sambuc 78ebfedea0SLionel Sambuc#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) 79ebfedea0SLionel Sambuc#define CONFIG_HEADER_BF_LOCL_H 80ebfedea0SLionel Sambuc#undef BF_PTR 81ebfedea0SLionel Sambuc#endif /* HEADER_BF_LOCL_H */ 82ebfedea0SLionel Sambuc 83ebfedea0SLionel Sambuc#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) 84ebfedea0SLionel Sambuc#define CONFIG_HEADER_DES_LOCL_H 85ebfedea0SLionel Sambuc#ifndef DES_DEFAULT_OPTIONS 86ebfedea0SLionel Sambuc/* the following is tweaked from a config script, that is why it is a 87ebfedea0SLionel Sambuc * protected undef/define */ 88ebfedea0SLionel Sambuc#ifndef DES_PTR 89ebfedea0SLionel Sambuc#undef DES_PTR 90ebfedea0SLionel Sambuc#endif 91ebfedea0SLionel Sambuc 92ebfedea0SLionel Sambuc/* This helps C compiler generate the correct code for multiple functional 93ebfedea0SLionel Sambuc * units. It reduces register dependancies at the expense of 2 more 94ebfedea0SLionel Sambuc * registers */ 95ebfedea0SLionel Sambuc#ifndef DES_RISC1 96ebfedea0SLionel Sambuc#undef DES_RISC1 97ebfedea0SLionel Sambuc#endif 98ebfedea0SLionel Sambuc 99ebfedea0SLionel Sambuc#ifndef DES_RISC2 100ebfedea0SLionel Sambuc#undef DES_RISC2 101ebfedea0SLionel Sambuc#endif 102ebfedea0SLionel Sambuc 103ebfedea0SLionel Sambuc#if defined(DES_RISC1) && defined(DES_RISC2) 104*0a6a1f1dSLionel Sambuc#error YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! 105ebfedea0SLionel Sambuc#endif 106ebfedea0SLionel Sambuc 107ebfedea0SLionel Sambuc/* Unroll the inner loop, this sometimes helps, sometimes hinders. 108ebfedea0SLionel Sambuc * Very mucy CPU dependant */ 109ebfedea0SLionel Sambuc#ifndef DES_UNROLL 110ebfedea0SLionel Sambuc#undef DES_UNROLL 111ebfedea0SLionel Sambuc#endif 112ebfedea0SLionel Sambuc 113ebfedea0SLionel Sambuc/* These default values were supplied by 114ebfedea0SLionel Sambuc * Peter Gutman <pgut001@cs.auckland.ac.nz> 115ebfedea0SLionel Sambuc * They are only used if nothing else has been defined */ 116ebfedea0SLionel Sambuc#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) 117ebfedea0SLionel Sambuc/* Special defines which change the way the code is built depending on the 118ebfedea0SLionel Sambuc CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find 119ebfedea0SLionel Sambuc even newer MIPS CPU's, but at the moment one size fits all for 120ebfedea0SLionel Sambuc optimization options. Older Sparc's work better with only UNROLL, but 121ebfedea0SLionel Sambuc there's no way to tell at compile time what it is you're running on */ 122ebfedea0SLionel Sambuc 123ebfedea0SLionel Sambuc#if defined( sun ) /* Newer Sparc's */ 124ebfedea0SLionel Sambuc# define DES_PTR 125ebfedea0SLionel Sambuc# define DES_RISC1 126ebfedea0SLionel Sambuc# define DES_UNROLL 127ebfedea0SLionel Sambuc#elif defined( __ultrix ) /* Older MIPS */ 128ebfedea0SLionel Sambuc# define DES_PTR 129ebfedea0SLionel Sambuc# define DES_RISC2 130ebfedea0SLionel Sambuc# define DES_UNROLL 131ebfedea0SLionel Sambuc#elif defined( __osf1__ ) /* Alpha */ 132ebfedea0SLionel Sambuc# define DES_PTR 133ebfedea0SLionel Sambuc# define DES_RISC2 134ebfedea0SLionel Sambuc#elif defined ( _AIX ) /* RS6000 */ 135ebfedea0SLionel Sambuc /* Unknown */ 136ebfedea0SLionel Sambuc#elif defined( __hpux ) /* HP-PA */ 137ebfedea0SLionel Sambuc /* Unknown */ 138ebfedea0SLionel Sambuc#elif defined( __aux ) /* 68K */ 139ebfedea0SLionel Sambuc /* Unknown */ 140ebfedea0SLionel Sambuc#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ 141ebfedea0SLionel Sambuc# define DES_UNROLL 142ebfedea0SLionel Sambuc#elif defined( __sgi ) /* Newer MIPS */ 143ebfedea0SLionel Sambuc# define DES_PTR 144ebfedea0SLionel Sambuc# define DES_RISC2 145ebfedea0SLionel Sambuc# define DES_UNROLL 146ebfedea0SLionel Sambuc#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ 147ebfedea0SLionel Sambuc# define DES_PTR 148ebfedea0SLionel Sambuc# define DES_RISC1 149ebfedea0SLionel Sambuc# define DES_UNROLL 150ebfedea0SLionel Sambuc#endif /* Systems-specific speed defines */ 151ebfedea0SLionel Sambuc#endif 152ebfedea0SLionel Sambuc 153ebfedea0SLionel Sambuc#endif /* DES_DEFAULT_OPTIONS */ 154ebfedea0SLionel Sambuc#endif /* HEADER_DES_LOCL_H */ 155