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