@ -1,324 +1,121 @@
/* opensslconf.h */
/* WARNING: Generated automatically from opensslconf.h.in by Configure. */
/* OpenSSL was configured with the following options: */
# undef OPENSSL_SYSNAME_WIN32
# if defined(_WIN32)
# define OPENSSL_SYSNAME_WIN32
# endif
# ifndef OPENSSL_DOING_MAKEDEPEND
# ifndef OPENSSL_NO_CAPIENG
# define OPENSSL_NO_CAPIENG
# endif
# ifndef OPENSSL_NO_EC_NISTP_64_GCC_128
# define OPENSSL_NO_EC_NISTP_64_GCC_128
# endif
# ifndef OPENSSL_NO_GMP
# define OPENSSL_NO_GMP
# endif
# ifndef OPENSSL_NO_GOST
# define OPENSSL_NO_GOST
# endif
# ifndef OPENSSL_NO_HW_PADLOCK
# define OPENSSL_NO_HW_PADLOCK
# endif
# ifndef OPENSSL_NO_JPAKE
# define OPENSSL_NO_JPAKE
# endif
# ifndef OPENSSL_NO_KRB5
# define OPENSSL_NO_KRB5
# endif
# ifndef OPENSSL_NO_MD2
# define OPENSSL_NO_MD2
# endif
# ifndef OPENSSL_NO_RC5
# define OPENSSL_NO_RC5
# endif
# ifndef OPENSSL_NO_RFC3779
# define OPENSSL_NO_RFC3779
# endif
# ifndef OPENSSL_NO_SCTP
# define OPENSSL_NO_SCTP
# endif
# ifndef OPENSSL_NO_STORE
# define OPENSSL_NO_STORE
# endif
# endif /* OPENSSL_DOING_MAKEDEPEND */
# ifndef OPENSSL_THREADS
# define OPENSSL_THREADS
# endif
# ifndef OPENSSL_NO_DYNAMIC_ENGINE
# define OPENSSL_NO_DYNAMIC_ENGINE
# endif
/* The OPENSSL_NO_* macros are also defined as NO_* if the application
asks for it . This is a transient feature that is provided for those
who haven ' t had the time to do the appropriate changes in their
applications . */
# ifdef OPENSSL_ALGORITHM_DEFINES
# if defined(OPENSSL_NO_CAMELLIA) && !defined(NO_CAMELLIA)
# define NO_CAMELLIA
# endif
# if defined(OPENSSL_NO_CAPIENG) && !defined(NO_CAPIENG)
# define NO_CAPIENG
# endif
# if defined(OPENSSL_NO_CAST) && !defined(NO_CAST)
# define NO_CAST
# endif
# if defined(OPENSSL_NO_CMS) && !defined(NO_CMS)
# define NO_CMS
# endif
# if defined(OPENSSL_NO_FIPS) && !defined(NO_FIPS)
# define NO_FIPS
# endif
# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP)
# define NO_GMP
# endif
# if defined(OPENSSL_NO_IDEA) && !defined(NO_IDEA)
# define NO_IDEA
# endif
# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE)
# define NO_JPAKE
# endif
# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5)
# define NO_KRB5
# endif
# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2)
# define NO_MD2
# endif
# if defined(OPENSSL_NO_MDC2) && !defined(NO_MDC2)
# define NO_MDC2
# endif
# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5)
# define NO_RC5
# endif
# if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779)
# define NO_RFC3779
# endif
# if defined(OPENSSL_NO_SEED) && !defined(NO_SEED)
# define NO_SEED
# endif
# if defined(OPENSSL_NO_SHA0) && !defined(NO_SHA0)
# define NO_SHA0
# endif
# if defined(OPENSSL_NO_STORE) && !defined(NO_STORE)
# define NO_STORE
# endif
# if defined(OPENSSL_NO_WHRLPOOL) && !defined(NO_WHRLPOOL)
# define NO_WHRLPOOL
# endif
# if defined(OPENSSL_NO_MDC2) && !defined(NO_MDC2)
# define NO_MDC2
# endif
# endif
/* crypto/opensslconf.h.in */
# ifdef OPENSSL_DOING_MAKEDEPEND
/* Include any symbols here that have to be explicitly set to enable a feature
* that should be visible to makedepend .
*
* [ Our " make depend " doesn ' t actually look at this , we use actual build settings
* instead ; we want to make it easy to remove subdirectories with disabled algorithms . ]
*/
# ifndef OPENSSL_FIPS
# define OPENSSL_FIPS
# endif
# endif
/* Generate 80386 code? */
# undef I386_ONLY
# if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
# if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
# if defined(_WIN32)
# define ENGINESDIR "ssl / lib / engines"
# define OPENSSLDIR "ssl"
# else
# define ENGINESDIR " / usr / local / ssl / lib / engines"
# define OPENSSLDIR " / usr / local / ssl"
# endif
# endif
# endif
# undef OPENSSL_UNISTD
# define OPENSSL_UNISTD <unistd.h>
# if !defined(_WIN32) && !defined(__arm__) && !defined(__mips__) && !defined(SWIG)
# include <unistd.h>
# endif
# undef OPENSSL_EXPORT_VAR_AS_FUNCTION
# if defined(_WIN32)
# define OPENSSL_EXPORT_VAR_AS_FUNCTION
# endif
# if defined(HEADER_IDEA_H)
# undef IDEA_INT
# define IDEA_INT unsigned int
/*
In OpenSSL , opensslconf . h was generated by Configure script with
specifying a target argument , where it includes several defines that
depend on OS and architecture platform .
In iojs , we statically mapped - - dest - os and - - dest - cpu options in
configure to the target of Configure in OpenSSL and make
` deps / openssl / conf / openssconf . h ` so as to include each file
according to its target by checking pre - defined compiler macros .
Included opnesslconf . h files for supported target architectures can
be generated by ` Makefile ` and stored under
` archs / { target } / opensslconf . h ` . The Makefile also fixes several
defines to meet iojs build requirements .
Here is a map table of configure options in iojs , target arch of
Configure in OpenSSL and CI support .
| - - dest - os | - - dest - cpu | OpenSSL target arch | CI |
| - - - - - - - - - | - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - | - - - |
| linux | ia32 | linux - elf | o |
| linux | x32 | patched linux - x86_64 | - |
| linux | x64 | linux - x86_64 | o |
| linux | arm | linux - armv4 | o |
| linux | arm64 | N / A | - |
| mac | ia32 | darwin - i386 - cc | o |
| mac | x64 | darwin64 - x86 - cc | o |
| win | ia32 | VC - WIN32 | - |
| win | x64 | VC - WIN64A | o |
| solaris | ia32 | solaris - x86 - gcc | o |
| solaris | x64 | solaris64 - x86_64 - gcc | o |
| freebsd | ia32 | BSD - x86 | o |
| freebsd | x64 | BSD - x86_64 | o |
| openbsd | ia32 | BSD - x86 | - |
| openbsd | x64 | BSD - x86_64 | - |
| others | others | linux - elf | - |
- - dest - os and - - dest - cpu are mapped to pre - defined macros .
| - - dest - os | pre - defined macro |
| - - - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - - - - - |
| win | _WIN32 |
| win ( 64 bit ) | _WIN64 |
| mac | __APPLE__ & & __MACH__ |
| solaris | __sun |
| freebsd | __FreeBSD__ |
| openbsd | __OpenBSD__ |
| linux ( not andorid ) | __linux__ & & ! __ANDROID__ |
| android | __ANDROID__ |
| - - dest - cpu | pre - defined macro |
| - - - - - - - - - - | - - - - - - - - - - - - - - - - - |
| arm | __arm__ |
| arm64 | __aarch64__ |
| ia32 | __i386__ |
| ia32 ( win ) | _M_IX86 |
| mips | __mips__ |
| mipsel | __MIPSEL__ |
| x32 | __ILP32__ |
| x64 | __x86_64__ |
| x64 ( win ) | _M_X64 |
These are the list which is not implemented yet .
| - - dest - os | - - dest - cpu | OpenSSL target arch | CI |
| - - - - - - - - - | - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - | - - - |
| linux | mips | linux - mips32 , linux - mips64 , linux64 - mips64 ? | - - - |
| linux | mipsel | ? | - - - |
| android | ia32 | android - x86 | - - - |
| android | arm | android - armv7 | - - - |
| android | mips | android - mips | - - - |
| android | mipsel | ? | - - - |
Supported target arch list in OpenSSL can be obtained by typing
` deps / openssl / openssl / Configure LIST ` .
*/
# undef OPENSSL_LINUX
# if defined(__linux) && !defined(__ANDROID__)
# define OPENSSL_LINUX 1
# endif
# if defined(HEADER_MD2_H)
# undef MD2_INT
# define MD2_INT unsigned int
# if defined(OPENSSL_LINUX) && defined(__i386__)
# include ". / archs / linux-elf / opensslconf.h"
# elif defined(OPENSSL_LINUX) && defined(__ILP32__)
# include ". / archs / linux-x32 / opensslconf.h"
# elif defined(OPENSSL_LINUX) && defined(__x86_64__)
# include ". / archs / linux-x86_64 / opensslconf.h"
# elif defined(OPENSSL_LINUX) && defined(__arm__)
# include ". / archs / linux-armv4 / opensslconf.h"
# elif defined(OPENSSL_LINUX) && defined(__aarch64__)
/* Not Supported Yet */
# elif defined(__APPLE__) && defined(__MACH__) && defined(__i386__)
# include ". / archs / darwin-i386-cc / opensslconf.h"
# elif defined(__APPLE__) && defined(__MACH__) && defined(__x86_64__)
# include ". / archs / darwin64-x86_64-cc / opensslconf.h"
# elif defined(_WIN32) && defined(_M_IX86)
# include ". / archs / VC-WIN32 / opensslconf.h"
# elif defined(_WIN32) && defined(_M_X64)
# include ". / archs / VC-WIN64A / opensslconf.h"
# elif (defined(__FreeBSD__) || defined(__OpenBSD__)) && defined(__i386__)
# include ". / archs / BSD-x86 / opensslconf.h"
# elif (defined(__FreeBSD__) || defined(__OpenBSD__)) && defined(__x86_64__)
# include ". / archs / BSD-x86_64 / opensslconf.h"
# elif defined(__sun) && defined(__i386__)
# include ". / archs / solaris-x86-gcc / opensslconf.h"
# elif defined(__sun) && defined(__x86_64__)
# include ". / archs / solaris64-x86_64-gcc / opensslconf.h"
# else
# include ". / archs / linux-elf / opensslconf.h"
# endif
# if defined(HEADER_RC2_H)
/* I need to put in a mod for the alpha - eay */
# undef RC2_INT
# define RC2_INT unsigned int
# endif
# if defined(HEADER_RC4_H)
/* using int types make the structure larger but make the code faster
* on most boxes I have tested - up to % 20 faster . */
/*
* I don ' t know what does " most " mean , but declaring " int " is a must on :
* - Intel P6 because partial register stalls are very expensive ;
* - elder Alpha because it lacks byte load / store instructions ;
*/
# undef RC4_INT
# if defined(__arm__)
# define RC4_INT unsigned char
# else
# define RC4_INT unsigned int
# endif
/*
* This enables code handling data aligned at natural CPU word
* boundary . See crypto / rc4 / rc4_enc . c for further details .
*/
# undef RC4_CHUNK
# if defined(_M_X64) || defined(__aarch64__) || defined(__x86_64__)
# define RC4_CHUNK unsigned long long
# elif defined(__arm__)
# define RC4_CHUNK unsigned long
# else
/* On x86 RC4_CHUNK is not defined */
# endif
# endif
# if defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)
/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
* % 20 speed up ( longs are 8 bytes , int ' s are 4 ) . */
# undef DES_LONG
# define DES_LONG unsigned int
# endif
# if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)
# define CONFIG_HEADER_BN_H
/* Should we define BN_DIV2W here? */
/* Only one for the following should be defined */
/* The prime number generation stuff may not work when
* EIGHT_BIT but I don ' t care since I ' ve only used this mode
* for debuging the bignum libraries */
# undef SIXTY_FOUR_BIT_LONG
# undef SIXTY_FOUR_BIT
# undef THIRTY_TWO_BIT
# undef SIXTEEN_BIT
# undef EIGHT_BIT
# if defined(_M_X64) || defined(__aarch64__) || defined(__x86_64__)
# if defined(_LP64)
# define SIXTY_FOUR_BIT_LONG
# else
# define SIXTY_FOUR_BIT
# endif
# elif defined(_M_IX86) || defined(__i386__) || defined(__arm__) || defined(__mips__)
# define THIRTY_TWO_BIT
# endif
/* GOST is not included in all platform */
# ifndef OPENSSL_NO_GOST
# define OPENSSL_NO_GOST
# endif
# if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H)
# define CONFIG_HEADER_RC4_LOCL_H
/* if this is defined data[i] is used instead of *data, this is a %20
* speedup on x86 */
# undef RC4_INDEX
# if defined(_M_IX86) || defined(__i386__)
# define RC4_INDEX
# endif
/* HW_PADLOCK is not included in all platform */
# ifndef OPENSSL_NO_HW_PADLOCK
# define OPENSSL_NO_HW_PADLOCK
# endif
# if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H)
# define CONFIG_HEADER_BF_LOCL_H
# undef BF_PTR
# if defined(__arm__)
# define BF_PTR
# endif
# endif /* HEADER_BF_LOCL_H */
# if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H)
# define CONFIG_HEADER_DES_LOCL_H
# ifndef DES_DEFAULT_OPTIONS
/* the following is tweaked from a config script, that is why it is a
* protected undef / define */
# undef DES_PTR
# if !defined(_WIN32) && (defined(_M_IX86) || defined(__i386__))
# define DES_PTR
# endif
/* This helps C compiler generate the correct code for multiple functional
* units . It reduces register dependancies at the expense of 2 more
* registers */
# undef DES_RISC1
# if !defined(_WIN32) && (defined(_M_IX86) || defined(__i386__))
# define DES_RISC1
# endif
# undef DES_RISC2
# if defined(DES_RISC1) && defined(DES_RISC2)
# error YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!!
# endif
/* Unroll the inner loop, this sometimes helps, sometimes hinders.
* Very mucy CPU dependant */
# undef DES_UNROLL
# if !defined(_WIN32)
# define DES_UNROLL
# endif
/* These default values were supplied by
* Peter Gutman < pgut001 @ cs . auckland . ac . nz >
* They are only used if nothing else has been defined */
# if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL)
/* Special defines which change the way the code is built depending on the
CPU and OS . For SGI machines you can use _MIPS_SZLONG ( 32 or 64 ) to find
even newer MIPS CPU ' s , but at the moment one size fits all for
optimization options . Older Sparc ' s work better with only UNROLL , but
there ' s no way to tell at compile time what it is you ' re running on */
# if defined( sun ) /* Newer Sparc's */
# define DES_PTR
# define DES_RISC1
# define DES_UNROLL
# elif defined( __ultrix ) /* Older MIPS */
# define DES_PTR
# define DES_RISC2
# define DES_UNROLL
# elif defined( __osf1__ ) /* Alpha */
# define DES_PTR
# define DES_RISC2
# elif defined ( _AIX ) /* RS6000 */
/* Unknown */
# elif defined( __hpux ) /* HP-PA */
/* Unknown */
# elif defined( __aux ) /* 68K */
/* Unknown */
# elif defined( __dgux ) /* 88K (but P6 in latest boxes) */
# define DES_UNROLL
# elif defined( __sgi ) /* Newer MIPS */
# define DES_PTR
# define DES_RISC2
# define DES_UNROLL
# elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */
# define DES_PTR
# define DES_RISC1
# define DES_UNROLL
# endif /* Systems-specific speed defines */
# endif
# endif /* DES_DEFAULT_OPTIONS */
# endif /* HEADER_DES_LOCL_H */