1656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* crypto/opensslconf.h.in */ 2656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 3656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Generate 80386 code? */ 4656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef I386_ONLY 5656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 6656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */ 7656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) 8656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ENGINESDIR "/usr/local/lib/engines" 9656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define OPENSSLDIR "/usr/local/ssl" 10656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 11656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 12656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 13656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef OPENSSL_UNISTD 14656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define OPENSSL_UNISTD <unistd.h> 15656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 16656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef OPENSSL_EXPORT_VAR_AS_FUNCTION 17656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 18656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if defined(HEADER_IDEA_H) && !defined(IDEA_INT) 19656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define IDEA_INT unsigned int 20656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 21656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 22656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if defined(HEADER_MD2_H) && !defined(MD2_INT) 23656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define MD2_INT unsigned int 24656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 25656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 26656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if defined(HEADER_RC2_H) && !defined(RC2_INT) 27656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* I need to put in a mod for the alpha - eay */ 28656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define RC2_INT unsigned int 29656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 30656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 31656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if defined(HEADER_RC4_H) 32656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if !defined(RC4_INT) 33656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* using int types make the structure larger but make the code faster 34656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * on most boxes I have tested - up to %20 faster. */ 35656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* 36656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * I don't know what does "most" mean, but declaring "int" is a must on: 37656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * - Intel P6 because partial register stalls are very expensive; 38656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * - elder Alpha because it lacks byte load/store instructions; 39656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project */ 40656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define RC4_INT unsigned int 41656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 42656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if !defined(RC4_CHUNK) 43656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* 44656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * This enables code handling data aligned at natural CPU word 45656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * boundary. See crypto/rc4/rc4_enc.c for further details. 46656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project */ 47656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef RC4_CHUNK 48656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 49656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 50656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 51656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) 52656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a 53656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * %20 speed up (longs are 8 bytes, int's are 4). */ 54656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef DES_LONG 55656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define DES_LONG unsigned long 56656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 57656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 58656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 59656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) 60656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONFIG_HEADER_BN_H 61656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef BN_LLONG 62656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 63656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Should we define BN_DIV2W here? */ 64656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 65656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Only one for the following should be defined */ 66656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef SIXTY_FOUR_BIT_LONG 67656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef SIXTY_FOUR_BIT 68656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define THIRTY_TWO_BIT 69656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 70656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 71656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) 72656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONFIG_HEADER_RC4_LOCL_H 73656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* if this is defined data[i] is used instead of *data, this is a %20 74656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * speedup on x86 */ 75656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef RC4_INDEX 76656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 77656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 78656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) 79656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONFIG_HEADER_BF_LOCL_H 80656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef BF_PTR 81656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif /* HEADER_BF_LOCL_H */ 82656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 83656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) 84656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONFIG_HEADER_DES_LOCL_H 85656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef DES_DEFAULT_OPTIONS 86656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* the following is tweaked from a config script, that is why it is a 87656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * protected undef/define */ 88656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef DES_PTR 89656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef DES_PTR 90656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 91656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 92656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* This helps C compiler generate the correct code for multiple functional 93656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * units. It reduces register dependancies at the expense of 2 more 94656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * registers */ 95656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef DES_RISC1 96656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef DES_RISC1 97656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 98656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 99656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef DES_RISC2 100656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef DES_RISC2 101656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 102656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 103656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if defined(DES_RISC1) && defined(DES_RISC2) 104656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectYOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! 105656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 106656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 107656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Unroll the inner loop, this sometimes helps, sometimes hinders. 108656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * Very mucy CPU dependant */ 109656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef DES_UNROLL 110656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#undef DES_UNROLL 111656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 112656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 113656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* These default values were supplied by 114656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * Peter Gutman <pgut001@cs.auckland.ac.nz> 115656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * They are only used if nothing else has been defined */ 116656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) 117656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Special defines which change the way the code is built depending on the 118656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find 119656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project even newer MIPS CPU's, but at the moment one size fits all for 120656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project optimization options. Older Sparc's work better with only UNROLL, but 121656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project there's no way to tell at compile time what it is you're running on */ 122656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 123656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if defined( sun ) /* Newer Sparc's */ 124656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project# define DES_PTR 125656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project# define DES_RISC1 126656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project# define DES_UNROLL 127656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#elif defined( __ultrix ) /* Older MIPS */ 128656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project# define DES_PTR 129656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project# define DES_RISC2 130656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project# define DES_UNROLL 131656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#elif defined( __osf1__ ) /* Alpha */ 132656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project# define DES_PTR 133656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project# define DES_RISC2 134656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#elif defined ( _AIX ) /* RS6000 */ 135656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project /* Unknown */ 136656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#elif defined( __hpux ) /* HP-PA */ 137656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project /* Unknown */ 138656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#elif defined( __aux ) /* 68K */ 139656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project /* Unknown */ 140656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ 141656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project# define DES_UNROLL 142656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#elif defined( __sgi ) /* Newer MIPS */ 143656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project# define DES_PTR 144656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project# define DES_RISC2 145656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project# define DES_UNROLL 146656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ 147656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project# define DES_PTR 148656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project# define DES_RISC1 149656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project# define DES_UNROLL 150656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif /* Systems-specific speed defines */ 151656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 152656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 153656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif /* DES_DEFAULT_OPTIONS */ 154656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif /* HEADER_DES_LOCL_H */ 155