Configure, etc.: engage additional assembler modules.
authorAndy Polyakov <appro@openssl.org>
Mon, 14 Nov 2011 21:12:05 +0000 (21:12 +0000)
committerAndy Polyakov <appro@openssl.org>
Mon, 14 Nov 2011 21:12:05 +0000 (21:12 +0000)
Configure
Makefile.org
TABLE
ms/do_win64a.bat
ms/do_win64i.bat

index f62ab01..72de077 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -123,21 +123,24 @@ my $tlib="-lnsl -lsocket";
 my $bits1="THIRTY_TWO_BIT ";
 my $bits2="SIXTY_FOUR_BIT ";
 
-my $x86_asm="x86cpuid.o:bn-586.o co-586.o x86-mont.o:des-586.o crypt586.o:aes-586.o aesni-x86.o:bf-586.o:md5-586.o:sha1-586.o sha256-586.o sha512-586.o:cast-586.o:rc4-586.o:rmd-586.o:rc5-586.o:wp_block.o wp-mmx.o:cmll-x86.o";
+my $x86_asm="x86cpuid.o:bn-586.o co-586.o x86-mont.o x86-gf2m.o:des-586.o crypt586.o:aes-586.o vpaes-x86.o aesni-x86.o:bf-586.o:md5-586.o:sha1-586.o sha256-586.o sha512-586.o:cast-586.o:rc4-586.o:rmd-586.o:rc5-586.o:wp_block.o wp-mmx.o:cmll-x86.o:ghash-x86.o:";
 
 my $x86_elf_asm="$x86_asm:elf";
 
-my $x86_64_asm="x86_64cpuid.o:x86_64-gcc.o x86_64-mont.o modexp512-x86_64.o::aes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o::md5-x86_64.o:sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o::rc4-x86_64.o rc4-md5-x86_64.o:::wp-x86_64.o:cmll-x86_64.o cmll_misc.o";
-my $ia64_asm="ia64cpuid.o:bn-ia64.o::aes_core.o aes_cbc.o aes-ia64.o::md5-ia64.o:sha1-ia64.o sha256-ia64.o sha512-ia64.o::rc4-ia64.o rc4_skey.o:::::void";
-my $sparcv9_asm="sparcv9cap.o sparccpuid.o:bn-sparcv9.o sparcv9-mont.o sparcv9a-mont.o:des_enc-sparc.o fcrypt_b.o:aes_core.o aes_cbc.o aes-sparcv9.o:::sha1-sparcv9.o sha256-sparcv9.o sha512-sparcv9.o:::::::void";
-my $sparcv8_asm=":sparcv8.o:des_enc-sparc.o fcrypt_b.o:::::::::::void";
-my $alpha_asm="alphacpuid.o:bn_asm.o alpha-mont.o::::::::::::void";
-my $mips3_asm=":bn-mips3.o::::::::::::void";
-my $s390x_asm="s390xcap.o s390xcpuid.o:bn-s390x.o s390x-mont.o::aes-s390x.o:::sha1-s390x.o sha256-s390x.o sha512-s390x.o::rc4-s390x.o:::::void";
-my $armv4_asm=":bn_asm.o armv4-mont.o::aes_cbc.o aes-armv4.o:::sha1-armv4-large.o sha256-armv4.o sha512-armv4.o:::::::void";
-my $ppc32_asm="ppccpuid.o:bn-ppc.o::aes_core.o aes_cbc.o aes-ppc.o:::sha1-ppc.o sha256-ppc.o::::::";
-my $ppc64_asm="ppccpuid.o:bn-ppc.o ppc-mont.o::aes_core.o aes_cbc.o aes-ppc.o:::sha1-ppc.o sha256-ppc.o sha512-ppc.o::::::";
-my $no_asm=":::::::::::::void";
+my $x86_64_asm="x86_64cpuid.o:x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o::aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o::md5-x86_64.o:sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o::rc4-x86_64.o rc4-md5-x86_64.o:::wp-x86_64.o:cmll-x86_64.o cmll_misc.o:ghash-x86_64.o:";
+my $ia64_asm="ia64cpuid.o:bn-ia64.o ia64-mont.o::aes_core.o aes_cbc.o aes-ia64.o::md5-ia64.o:sha1-ia64.o sha256-ia64.o sha512-ia64.o::rc4-ia64.o rc4_skey.o:::::ghash-ia64.o::void";
+my $sparcv9_asm="sparcv9cap.o sparccpuid.o:bn-sparcv9.o sparcv9-mont.o sparcv9a-mont.o:des_enc-sparc.o fcrypt_b.o:aes_core.o aes_cbc.o aes-sparcv9.o:::sha1-sparcv9.o sha256-sparcv9.o sha512-sparcv9.o:::::::ghash-sparcv9.o::void";
+my $sparcv8_asm=":sparcv8.o:des_enc-sparc.o fcrypt_b.o:::::::::::::void";
+my $alpha_asm="alphacpuid.o:bn_asm.o alpha-mont.o:::::sha1-alpha.o:::::::ghash-alpha.o::void";
+my $mips32_asm=":bn-mips.o::aes_cbc.o aes-mips.o:::sha1-mips.o sha256-mips.o::::::::";
+my $mips64_asm=":bn-mips.o mips-mont.o::aes_cbc.o aes-mips.o:::sha1-mips.o sha256-mips.o sha512-mips.o::::::::";
+my $s390x_asm="s390xcap.o s390xcpuid.o:bn-s390x.o s390x-mont.o s390x-gf2m.o::aes-ctr.o aes-s390x.o:::sha1-s390x.o sha256-s390x.o sha512-s390x.o::rc4-s390x.o:::::ghash-s390x.o:";
+my $armv4_asm="armcap.o armv4cpuid.o:bn_asm.o armv4-mont.o armv4-gf2m.o::aes_cbc.o aes-armv4.o:::sha1-armv4-large.o sha256-armv4.o sha512-armv4.o:::::::ghash-armv4.o::void";
+my $parisc11_asm="pariscid.o:bn_asm.o parisc-mont.o::aes_core.o aes_cbc.o aes-parisc.o:::sha1-parisc.o sha256-parisc.o sha512-parisc.o::rc4-parisc.o:::::ghash-parisc.o::32";
+my $parisc20_asm="pariscid.o:pa-risc2W.o parisc-mont.o::aes_core.o aes_cbc.o aes-parisc.o:::sha1-parisc.o sha256-parisc.o sha512-parisc.o::rc4-parisc.o:::::ghash-parisc.o::64";
+my $ppc32_asm="ppccpuid.o ppccap.o:bn-ppc.o ppc-mont.o ppc64-mont.o::aes_core.o aes_cbc.o aes-ppc.o:::sha1-ppc.o sha256-ppc.o::::::::";
+my $ppc64_asm="ppccpuid.o ppccap.o:bn-ppc.o ppc-mont.o ppc64-mont.o::aes_core.o aes_cbc.o aes-ppc.o:::sha1-ppc.o sha256-ppc.o sha512-ppc.o::::::::";
+my $no_asm=":::::::::::::::void";
 
 # As for $BSDthreads. Idea is to maintain "collective" set of flags,
 # which would cover all BSD flavors. -pthread applies to them all, 
@@ -148,7 +151,7 @@ my $no_asm=":::::::::::::void";
 # seems to be sufficient?
 my $BSDthreads="-pthread -D_THREAD_SAFE -D_REENTRANT";
 
-#config-string $cc : $cflags : $unistd : $thread_cflag : $sys_id : $lflags : $bn_ops : $cpuid_obj : $bn_obj : $des_obj : $aes_obj : $bf_obj : $md5_obj : $sha1_obj : $cast_obj : $rc4_obj : $rmd160_obj : $rc5_obj : $wp_obj : $cmll_obj : $dso_scheme : $shared_target : $shared_cflag : $shared_ldflag : $shared_extension : $ranlib : $arflags : $multilib
+#config-string $cc : $cflags : $unistd : $thread_cflag : $sys_id : $lflags : $bn_ops : $cpuid_obj : $bn_obj : $des_obj : $aes_obj : $bf_obj : $md5_obj : $sha1_obj : $cast_obj : $rc4_obj : $rmd160_obj : $rc5_obj : $wp_obj : $cmll_obj : $modes_obj : $engines_obj : $dso_scheme : $shared_target : $shared_cflag : $shared_ldflag : $shared_extension : $ranlib : $arflags : $multilib
 
 my %table=(
 # File 'TABLE' (created by 'make TABLE') contains the data from this list,
@@ -163,7 +166,7 @@ my %table=(
 # Our development configs
 "purify",      "purify gcc:-g -DPURIFY -Wall::(unknown)::-lsocket -lnsl::::",
 "debug",       "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -ggdb -g2 -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations -Werror::(unknown)::-lefence::::",
-"debug-ben",   "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DDEBUG_UNUSED -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown):::::bn86-elf.o co86-elf.o",
+"debug-ben",   "gcc:$gcc_devteam_warn -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DDEBUG_SAFESTACK -O2 -pipe::(unknown):::::",
 "debug-ben-openbsd","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DOPENSSL_OPENBSD_DEV_CRYPTO -DOPENSSL_NO_ASM -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown)::::",
 "debug-ben-openbsd-debug","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DOPENSSL_OPENBSD_DEV_CRYPTO -DOPENSSL_NO_ASM -g3 -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown)::::",
 "debug-ben-debug",     "gcc44:$gcc_devteam_warn -DBN_DEBUG -DCONF_DEBUG -DDEBUG_SAFESTACK -DDEBUG_UNUSED -g3 -O2 -pipe::(unknown)::::::",
@@ -173,23 +176,23 @@ my %table=(
 "debug-rse","cc:-DTERMIOS -DL_ENDIAN -pipe -O -g -ggdb3 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
 "debug-bodo",  "gcc:$gcc_devteam_warn -DBN_DEBUG -DBN_DEBUG_RAND -DCONF_DEBUG -DBIO_PAIR_DEBUG -m64 -DL_ENDIAN -DTERMIO -g -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
 "debug-ulf", "gcc:-DTERMIOS -DL_ENDIAN -march=i486 -Wall -DBN_DEBUG -DBN_DEBUG_RAND -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -g -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations:::CYGWIN32:::${no_asm}:win32:cygwin-shared:::.dll",
-"debug-steve64", "gcc:$gcc_devteam_warn -m64 -DL_ENDIAN -DTERMIO -DCONF_DEBUG -DDEBUG_SAFESTACK -g -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"debug-steve64", "gcc:$gcc_devteam_warn -m64 -DL_ENDIAN -DTERMIO -DCONF_DEBUG -DDEBUG_SAFESTACK -g::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 "debug-steve32", "gcc:$gcc_devteam_warn -m32 -DL_ENDIAN -DCONF_DEBUG -DDEBUG_SAFESTACK -g -pipe::-D_REENTRANT::-rdynamic -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC:-m32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"debug-steve-opt", "gcc:$gcc_devteam_warn -m64 -O3 -DL_ENDIAN -DTERMIO -DCONF_DEBUG -DDEBUG_SAFESTACK -g -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"debug-steve-opt", "gcc:$gcc_devteam_warn -m64 -O3 -DL_ENDIAN -DTERMIO -DCONF_DEBUG -DDEBUG_SAFESTACK -g::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 "debug-levitte-linux-elf","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 "debug-levitte-linux-noasm","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DOPENSSL_NO_ASM -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 "debug-levitte-linux-elf-extreme","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -W -Wundef -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 "debug-levitte-linux-noasm-extreme","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DOPENSSL_NO_ASM -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -W -Wundef -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"debug-geoff32","gcc:-DBN_DEBUG -DBN_DEBUG_RAND -DBN_STRICT -DPURIFY -DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_ASM -DOPENSSL_NO_INLINE_ASM -DL_ENDIAN -DTERMIO -DPEDANTIC -DMD32_REG_T=int -O1 -ggdb2 -Wall -Werror -Wundef -pedantic -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Wmissing-prototypes -Wmissing-declarations -Wno-long-long::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"debug-geoff64","gcc:-DBN_DEBUG -DBN_DEBUG_RAND -DBN_STRICT -DPURIFY -DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_ASM -DOPENSSL_NO_INLINE_ASM -DL_ENDIAN -DTERMIO -DPEDANTIC -DMD32_REG_T=int -O1 -ggdb2 -Wall -Werror -Wundef -pedantic -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Wmissing-prototypes -Wmissing-declarations -Wno-long-long::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"debug-geoff32","gcc:-DBN_DEBUG -DBN_DEBUG_RAND -DBN_STRICT -DPURIFY -DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_ASM -DOPENSSL_NO_INLINE_ASM -DL_ENDIAN -DTERMIO -DPEDANTIC -O1 -ggdb2 -Wall -Werror -Wundef -pedantic -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Wmissing-prototypes -Wmissing-declarations -Wno-long-long::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"debug-geoff64","gcc:-DBN_DEBUG -DBN_DEBUG_RAND -DBN_STRICT -DPURIFY -DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_ASM -DOPENSSL_NO_INLINE_ASM -DL_ENDIAN -DTERMIO -DPEDANTIC -O1 -ggdb2 -Wall -Werror -Wundef -pedantic -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Wmissing-prototypes -Wmissing-declarations -Wno-long-long::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 "debug-linux-pentium","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -mcpu=pentium -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn",
 "debug-linux-ppro","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -mcpu=pentiumpro -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn",
 "debug-linux-elf","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -march=i486 -Wall::-D_REENTRANT::-lefence -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 "debug-linux-elf-noefence","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -march=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"debug-linux-ia32-aes", "gcc:-DAES_EXPERIMENTAL -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:x86cpuid.o:bn-586.o co-586.o x86-mont.o:des-586.o crypt586.o:aes_x86core.o aes_cbc.o:bf-586.o:md5-586.o:sha1-586.o sha256-586.o sha512-586.o:cast-586.o:rc4-586.o:rmd-586.o:rc5-586.o:wp_block.o wp-mmx.o::elf:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"debug-linux-ia32-aes", "gcc:-DAES_EXPERIMENTAL -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:x86cpuid.o:bn-586.o co-586.o x86-mont.o:des-586.o crypt586.o:aes_x86core.o aes_cbc.o aesni-x86.o:bf-586.o:md5-586.o:sha1-586.o sha256-586.o sha512-586.o:cast-586.o:rc4-586.o:rmd-586.o:rc5-586.o:wp_block.o wp-mmx.o::ghash-x86.o::elf:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 "debug-linux-generic32","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DTERMIO -g -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 "debug-linux-generic64","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DTERMIO -g -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"debug-linux-x86_64",  "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -m64 -DL_ENDIAN -DTERMIO -g -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
+"debug-linux-x86_64","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -m64 -DL_ENDIAN -DTERMIO -g -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
 "dist",                "cc:-O::(unknown)::::::",
 
 # Basic configs that should work on any (32 and less bit) box
@@ -215,7 +218,7 @@ my %table=(
 # actually recommend to consider using gcc shared build even with vendor
 # compiler:-)
 #                                              <appro@fy.chalmers.se>
-"solaris64-x86_64-gcc","gcc:-m64 -O3 -Wall -DL_ENDIAN -DMD32_REG_T=int::-D_REENTRANT::-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:solaris-shared:-fPIC:-m64 -shared -static-libgcc:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/64",
+"solaris64-x86_64-gcc","gcc:-m64 -O3 -Wall -DL_ENDIAN::-D_REENTRANT::-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:solaris-shared:-fPIC:-m64 -shared -static-libgcc:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/64",
  
 #### Solaris x86 with Sun C setups
 "solaris-x86-cc","cc:-fast -O -Xa::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
@@ -249,16 +252,16 @@ my %table=(
 
 #### IRIX 5.x configs
 # -mips2 flag is added by ./config when appropriate.
-"irix-gcc","gcc:-O3 -DTERMIOS -DB_ENDIAN::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK DES_UNROLL DES_RISC2 DES_PTR BF_PTR:${no_asm}:dlfcn:irix-shared:::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"irix-cc", "cc:-O2 -use_readonly_const -DTERMIOS -DB_ENDIAN::(unknown):::BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC2 DES_UNROLL BF_PTR:${no_asm}:dlfcn:irix-shared:::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"irix-gcc","gcc:-O3 -DTERMIOS -DB_ENDIAN::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK DES_UNROLL DES_RISC2 DES_PTR BF_PTR:${mips32_asm}:o32:dlfcn:irix-shared:::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"irix-cc", "cc:-O2 -use_readonly_const -DTERMIOS -DB_ENDIAN::(unknown):::BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC2 DES_UNROLL BF_PTR:${mips32_asm}:o32:dlfcn:irix-shared:::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 #### IRIX 6.x configs
 # Only N32 and N64 ABIs are supported. If you need O32 ABI build, invoke
 # './Configure irix-cc -o32' manually.
-"irix-mips3-gcc","gcc:-mabi=n32 -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK_LL DES_UNROLL DES_RISC2 DES_PTR BF_PTR SIXTY_FOUR_BIT:${mips3_asm}:dlfcn:irix-shared::-mabi=n32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::32",
-"irix-mips3-cc", "cc:-n32 -mips3 -O2 -use_readonly_const -G0 -rdata_shared -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::DES_PTR RC4_CHAR RC4_CHUNK_LL DES_RISC2 DES_UNROLL BF_PTR SIXTY_FOUR_BIT:${mips3_asm}:dlfcn:irix-shared::-n32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::32",
+"irix-mips3-gcc","gcc:-mabi=n32 -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK_LL DES_UNROLL DES_RISC2 DES_PTR BF_PTR SIXTY_FOUR_BIT:${mips64_asm}:n32:dlfcn:irix-shared::-mabi=n32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::32",
+"irix-mips3-cc", "cc:-n32 -mips3 -O2 -use_readonly_const -G0 -rdata_shared -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::DES_PTR RC4_CHAR RC4_CHUNK_LL DES_RISC2 DES_UNROLL BF_PTR SIXTY_FOUR_BIT:${mips64_asm}:n32:dlfcn:irix-shared::-n32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::32",
 # N64 ABI builds.
-"irix64-mips4-gcc","gcc:-mabi=64 -mips4 -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG:${mips3_asm}:dlfcn:irix-shared::-mabi=64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
-"irix64-mips4-cc", "cc:-64 -mips4 -O2 -use_readonly_const -G0 -rdata_shared -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG:${mips3_asm}:dlfcn:irix-shared::-64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
+"irix64-mips4-gcc","gcc:-mabi=64 -mips4 -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG:${mips64_asm}:64:dlfcn:irix-shared::-mabi=64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
+"irix64-mips4-cc", "cc:-64 -mips4 -O2 -use_readonly_const -G0 -rdata_shared -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG:${mips64_asm}:64:dlfcn:irix-shared::-64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
 
 #### Unified HP-UX ANSI C configs.
 # Special notes:
@@ -291,17 +294,18 @@ my %table=(
 # Since there is mention of this in shlib/hpux10-cc.sh
 "hpux-parisc-cc-o4","cc:-Ae +O4 +ESlit -z -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY::-D_REENTRANT::-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1:${no_asm}:dl:hpux-shared:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 "hpux-parisc-gcc","gcc:-O3 -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-Wl,+s -ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1:${no_asm}:dl:hpux-shared:-fPIC:-shared:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"hpux-parisc2-gcc","gcc:-march=2.0 -O3 -DB_ENDIAN -D_REENTRANT::::-Wl,+s -ldld:SIXTY_FOUR_BIT RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL DES_RISC1::pa-risc2.o::::::::::::void:dl:hpux-shared:-fPIC:-shared:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"hpux64-parisc2-gcc","gcc:-O3 -DB_ENDIAN -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::pa-risc2W.o::::::::::::void:dlfcn:hpux-shared:-fpic:-shared:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/pa20_64",
+"hpux-parisc1_1-gcc","gcc:-O3 -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-Wl,+s -ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1:${parisc11_asm}:dl:hpux-shared:-fPIC:-shared:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"hpux-parisc2-gcc","gcc:-march=2.0 -O3 -DB_ENDIAN -D_REENTRANT::::-Wl,+s -ldld:SIXTY_FOUR_BIT RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL DES_RISC1::pa-risc2.o::::::::::::::void:dl:hpux-shared:-fPIC:-shared:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"hpux64-parisc2-gcc","gcc:-O3 -DB_ENDIAN -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::pa-risc2W.o::::::::::::::void:dlfcn:hpux-shared:-fpic:-shared:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/pa20_64",
 
 # More attempts at unified 10.X and 11.X targets for HP C compiler.
 #
 # Chris Ruemmler <ruemmler@cup.hp.com>
 # Kevin Steves <ks@hp.se>
 "hpux-parisc-cc","cc:+O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY::-D_REENTRANT::-Wl,+s -ldld:MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:${no_asm}:dl:hpux-shared:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"hpux-parisc1_0-cc","cc:+DAportable +O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY::-D_REENTRANT::-Wl,+s -ldld:MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:${no_asm}:dl:hpux-shared:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"hpux-parisc2-cc","cc:+DA2.0 +DS2.0 +O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY -D_REENTRANT::::-Wl,+s -ldld:SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::pa-risc2.o::::::::::::void:dl:hpux-shared:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"hpux64-parisc2-cc","cc:+DD64 +O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::pa-risc2W.o::::::::::::void:dlfcn:hpux-shared:+Z:+DD64 -b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/pa20_64",
+"hpux-parisc1_1-cc","cc:+DA1.1 +O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY::-D_REENTRANT::-Wl,+s -ldld:MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:${parisc11_asm}:dl:hpux-shared:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/pa1.1",
+"hpux-parisc2-cc","cc:+DA2.0 +DS2.0 +O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY -D_REENTRANT::::-Wl,+s -ldld:SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::pa-risc2.o::::::::::::::void:dl:hpux-shared:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"hpux64-parisc2-cc","cc:+DD64 +O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:${parisc20_asm}:dlfcn:hpux-shared:+Z:+DD64 -b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/pa20_64",
 
 # HP/UX IA-64 targets
 "hpux-ia64-cc","cc:-Ae +DD32 +O2 +Olit=all -z -DB_ENDIAN -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT:${ia64_asm}:dlfcn:hpux-shared:+Z:+DD32 -b:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/hpux32",
@@ -352,8 +356,22 @@ my %table=(
 "linux-ia64",  "gcc:-DL_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 "linux-ia64-ecc","ecc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 "linux-ia64-icc","icc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"linux-x86_64",        "gcc:-m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
-"linux-s390x", "gcc:-m64 -DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${s390x_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
+"linux-x86_64",        "gcc:-m64 -DL_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
+"linux64-s390x",       "gcc:-m64 -DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${s390x_asm}:64:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
+#### So called "highgprs" target for z/Architecture CPUs
+# "Highgprs" is kernel feature first implemented in Linux 2.6.32, see
+# /proc/cpuinfo. The idea is to preserve most significant bits of
+# general purpose registers not only upon 32-bit process context
+# switch, but even on asynchronous signal delivery to such process.
+# This makes it possible to deploy 64-bit instructions even in legacy
+# application context and achieve better [or should we say adequate]
+# performance. The build is binary compatible with linux-generic32,
+# and the idea is to be able to install the resulting libcrypto.so
+# alongside generic one, e.g. as /lib/highgprs/libcrypto.so.x.y, for
+# ldconfig and run-time linker to autodiscover. Unfortunately it
+# doesn't work just yet, because of couple of bugs in glibc
+# sysdeps/s390/dl-procinfo.c affecting ldconfig and ld.so.1...
+"linux32-s390x",       "gcc:-m31 -Wa,-mzarch -DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:".eval{my $asm=$s390x_asm;$asm=~s/bn\-s390x\.o/bn_asm.o/;$asm}.":31:dlfcn:linux-shared:-fPIC:-m31:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/highgprs",
 #### SPARC Linux setups
 # Ray Miller <ray.miller@computing-services.oxford.ac.uk> has patiently
 # assisted with debugging of following two configs.
@@ -383,6 +401,7 @@ my %table=(
 
 # Android: linux-* but without -DTERMIO and pointers to headers and libs.
 "android","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"android-x86","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:".eval{my $asm=${x86_elf_asm};$asm=~s/:elf/:android/;$asm}.":dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 "android-armv7","gcc:-march=armv7-a -mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 
 #### *BSD [do see comment about ${BSDthreads} above!]
@@ -398,7 +417,7 @@ my %table=(
 # triggered by RIPEMD160 code.
 "BSD-sparc64", "gcc:-DB_ENDIAN -DTERMIOS -O3 -DMD32_REG_T=int -Wall::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC2 BF_PTR:${sparcv9_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 "BSD-ia64",    "gcc:-DL_ENDIAN -DTERMIOS -O3 -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT:${ia64_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"BSD-x86_64",  "gcc:-DL_ENDIAN -DTERMIOS -O3 -DMD32_REG_T=int -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"BSD-x86_64",  "gcc:-DL_ENDIAN -DTERMIOS -O3 -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 
 "bsdi-elf-gcc",     "gcc:-DPERL5 -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall::(unknown)::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 
@@ -495,13 +514,13 @@ my %table=(
 # Visual C targets
 #
 # Win64 targets, WIN64I denotes IA-64 and WIN64A - AMD64
-"VC-WIN64I","cl:-W3 -Gs0 -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64I::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:ia64cpuid.o:ia64.o::aes_core.o aes_cbc.o aes-ia64.o::md5-ia64.o:sha1-ia64.o sha256-ia64.o sha512-ia64.o:::::::ias:win32",
+"VC-WIN64I","cl:-W3 -Gs0 -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64I::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:ia64cpuid.o:ia64.o ia64-mont.o::aes_core.o aes_cbc.o aes-ia64.o::md5-ia64.o:sha1-ia64.o sha256-ia64.o sha512-ia64.o:::::::ghash-ia64.o::ias:win32",
 "VC-WIN64A","cl:-W3 -Gs0 -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64A::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:".eval{my $asm=$x86_64_asm;$asm=~s/x86_64-gcc\.o/bn_asm.o/;$asm}.":auto:win32",
-"debug-VC-WIN64I","cl:-W3 -Gs0 -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64I::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:ia64cpuid.o:ia64.o::aes_core.o aes_cbc.o aes-ia64.o::md5-ia64.o:sha1-ia64.o sha256-ia64.o sha512-ia64.o:::::::ias:win32",
+"debug-VC-WIN64I","cl:-W3 -Gs0 -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64I::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:ia64cpuid.o:ia64.o::aes_core.o aes_cbc.o aes-ia64.o::md5-ia64.o:sha1-ia64.o sha256-ia64.o sha512-ia64.o:::::::ghash-ia64.o::ias:win32",
 "debug-VC-WIN64A","cl:-W3 -Gs0 -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64A::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:".eval{my $asm=$x86_64_asm;$asm=~s/x86_64-gcc\.o/bn_asm.o/;$asm}.":auto:win32",
 # x86 Win32 target defaults to ANSI API, if you want UNICODE, complement
 # 'perl Configure VC-WIN32' with '-DUNICODE -D_UNICODE'
-"VC-WIN32","cl:-W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE:::WIN32::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${x86_asm}:win32n:win32",
+"VC-WIN32","cl:-W3 -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE:::WIN32::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${x86_asm}:win32n:win32",
 # Unified CE target
 "debug-VC-WIN32","cl:-W3 -WX -Gs0 -GF -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE:::WIN32::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${x86_asm}:win32n:win32",
 "VC-CE","cl::::WINCE::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${no_asm}:win32",
@@ -556,10 +575,12 @@ my %table=(
 "rhapsody-ppc-cc","cc:-O3 -DB_ENDIAN::(unknown):MACOSX_RHAPSODY::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}::",
 "darwin-ppc-cc","cc:-arch ppc -O3 -DB_ENDIAN -Wa,-force_cpusubtype_ALL::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${ppc32_asm}:osx32:dlfcn:darwin-shared:-fPIC -fno-common:-arch ppc -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
 "darwin64-ppc-cc","cc:-arch ppc64 -O3 -DB_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${ppc64_asm}:osx64:dlfcn:darwin-shared:-fPIC -fno-common:-arch ppc64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
-"darwin-i386-cc","cc:-arch i386 -O3 -fomit-frame-pointer -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR:${x86_asm}:macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
+"darwin-i386-cc","cc:-arch i386 -O3 -fomit-frame-pointer -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR:".eval{my $asm=$x86_asm;$asm=~s/cast\-586\.o//;$asm}.":macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
 "debug-darwin-i386-cc","cc:-arch i386 -g3 -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR:${x86_asm}:macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
-"darwin64-x86_64-cc","cc:-arch x86_64 -O3 -DL_ENDIAN -DMD32_REG_T=int -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch x86_64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
+"darwin64-x86_64-cc","cc:-arch x86_64 -O3 -DL_ENDIAN -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:".eval{my $asm=$x86_64_asm;$asm=~s/rc4\-[^:]+//;$asm}.":macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch x86_64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
 "debug-darwin-ppc-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DB_ENDIAN -g -Wall -O::-D_REENTRANT:MACOSX::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${ppc32_asm}:osx32:dlfcn:darwin-shared:-fPIC:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
+# iPhoneOS/iOS
+"iphoneos-cross","llvm-gcc:-O3 -isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) -fomit-frame-pointer -fno-common::-D_REENTRANT:iOS:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
 
 ##### A/UX
 "aux3-gcc","gcc:-O2 -DTERMIO::(unknown):AUX:-lbsd:RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:::",
@@ -574,18 +595,21 @@ my %table=(
 "OS2-EMX", "gcc::::::::",
 
 ##### VxWorks for various targets
+"vxworks-ppc60x","ccppc:-D_REENTRANT -mrtp -mhard-float -mstrict-align -fno-implicit-fp -DPPC32_fp60x -O2 -fstrength-reduce -fno-builtin -fno-strict-aliasing -Wall -DCPU=PPC32 -DTOOL_FAMILY=gnu -DTOOL=gnu -I\$(WIND_BASE)/target/usr/h -I\$(WIND_BASE)/target/usr/h/wrn/coreip:::VXWORKS:-Wl,--defsym,__wrs_rtp_base=0xe0000000 -L \$(WIND_BASE)/target/usr/lib/ppc/PPC32/common:::::",
+"vxworks-ppcgen","ccppc:-D_REENTRANT -mrtp -msoft-float -mstrict-align -O1 -fno-builtin -fno-strict-aliasing -Wall -DCPU=PPC32 -DTOOL_FAMILY=gnu -DTOOL=gnu -I\$(WIND_BASE)/target/usr/h -I\$(WIND_BASE)/target/usr/h/wrn/coreip:::VXWORKS:-Wl,--defsym,__wrs_rtp_base=0xe0000000 -L \$(WIND_BASE)/target/usr/lib/ppc/PPC32/sfcommon:::::",
 "vxworks-ppc405","ccppc:-g -msoft-float -mlongcall -DCPU=PPC405 -I\$(WIND_BASE)/target/h:::VXWORKS:-r:::::",
 "vxworks-ppc750","ccppc:-ansi -nostdinc -DPPC750 -D_REENTRANT -fvolatile -fno-builtin -fno-for-scope -fsigned-char -Wall -msoft-float -mlongcall -DCPU=PPC604 -I\$(WIND_BASE)/target/h \$(DEBUG_FLAG):::VXWORKS:-r:::::",
 "vxworks-ppc750-debug","ccppc:-ansi -nostdinc -DPPC750 -D_REENTRANT -fvolatile -fno-builtin -fno-for-scope -fsigned-char -Wall -msoft-float -mlongcall -DCPU=PPC604 -I\$(WIND_BASE)/target/h -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DDEBUG -g:::VXWORKS:-r:::::",
 "vxworks-ppc860","ccppc:-nostdinc -msoft-float -DCPU=PPC860 -DNO_STRINGS_H -I\$(WIND_BASE)/target/h:::VXWORKS:-r:::::",
-"vxworks-mipsle","ccmips:-B\$(WIND_BASE)/host/\$(WIND_HOST_TYPE)/lib/gcc-lib/ -DL_ENDIAN -EL -Wl,-EL -mips2 -mno-branch-likely -G 0 -fno-builtin -msoft-float -DCPU=MIPS32 -DMIPSEL -DNO_STRINGS_H -I\$(WIND_BASE)/target/h:::VXWORKS:-r::${no_asm}::::::ranlibmips:",
+"vxworks-simlinux","ccpentium:-B\$(WIND_BASE)/host/\$(WIND_HOST_TYPE)/lib/gcc-lib/ -D_VSB_CONFIG_FILE=\"\$(WIND_BASE)/target/lib/h/config/vsbConfig.h\" -DL_ENDIAN -DCPU=SIMLINUX -DTOOL_FAMILY=gnu -DTOOL=gnu -fno-builtin -fno-defer-pop -DNO_STRINGS_H -I\$(WIND_BASE)/target/h -I\$(WIND_BASE)/target/h/wrn/coreip -DOPENSSL_NO_HW_PADLOCK:::VXWORKS:-r::${no_asm}::::::ranlibpentium:",
+"vxworks-mips","ccmips:-mrtp -mips2 -O -G 0 -B\$(WIND_BASE)/host/\$(WIND_HOST_TYPE)/lib/gcc-lib/ -D_VSB_CONFIG_FILE=\"\$(WIND_BASE)/target/lib/h/config/vsbConfig.h\" -DCPU=MIPS32 -msoft-float -mno-branch-likely -DTOOL_FAMILY=gnu -DTOOL=gnu -fno-builtin -fno-defer-pop -DNO_STRINGS_H -I\$(WIND_BASE)/target/usr/h -I\$(WIND_BASE)/target/h/wrn/coreip::-D_REENTRANT:VXWORKS:-Wl,--defsym,__wrs_rtp_base=0xe0000000 -L \$(WIND_BASE)/target/usr/lib/mips/MIPSI32/sfcommon::${mips32_asm}:o32::::::ranlibmips:",
 
 ##### Compaq Non-Stop Kernel (Tandem)
 "tandem-c89","c89:-Ww -D__TANDEM -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1 -D_TANDEM_SOURCE -DB_ENDIAN::(unknown):::THIRTY_TWO_BIT:::",
 
 # uClinux
-"uClinux-dist","$ENV{'CC'}:\$(CFLAGS)::-D_REENTRANT::\$(LDFLAGS) \$(LDLIBS):BN_LLONG:::::::::::::::$ENV{'LIBSSL_dlfcn'}:linux-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):$ENV{'RANLIB'}::",
-"uClinux-dist64","$ENV{'CC'}:\$(CFLAGS)::-D_REENTRANT::\$(LDFLAGS) \$(LDLIBS):SIXTY_FOUR_BIT_LONG:::::::::::::::$ENV{'LIBSSL_dlfcn'}:linux-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):$ENV{'RANLIB'}::",
+"uClinux-dist","$ENV{'CC'}:\$(CFLAGS)::-D_REENTRANT::\$(LDFLAGS) \$(LDLIBS):BN_LLONG:${no_asm}:$ENV{'LIBSSL_dlfcn'}:linux-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):$ENV{'RANLIB'}::",
+"uClinux-dist64","$ENV{'CC'}:\$(CFLAGS)::-D_REENTRANT::\$(LDFLAGS) \$(LDLIBS):SIXTY_FOUR_BIT_LONG:${no_asm}:$ENV{'LIBSSL_dlfcn'}:linux-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):$ENV{'RANLIB'}::",
 
 );
 
@@ -617,6 +641,8 @@ my $idx_rmd160_obj = $idx++;
 my $idx_rc5_obj = $idx++;
 my $idx_wp_obj = $idx++;
 my $idx_cmll_obj = $idx++;
+my $idx_modes_obj = $idx++;
+my $idx_engines_obj = $idx++;
 my $idx_perlasm_scheme = $idx++;
 my $idx_dso_scheme = $idx++;
 my $idx_shared_target = $idx++;
@@ -841,6 +867,7 @@ PROCESS_ARGS:
                                }
                        elsif (/^-[^-]/ or /^\+/)
                                {
+                               $_ =~ s/%([0-9a-f]{1,2})/chr(hex($1))/gei;
                                $flags.=$_." ";
                                }
                        elsif (/^--prefix=(.*)$/)
@@ -1133,6 +1160,8 @@ my $rmd160_obj = $fields[$idx_rmd160_obj];
 my $rc5_obj = $fields[$idx_rc5_obj];
 my $wp_obj = $fields[$idx_wp_obj];
 my $cmll_obj = $fields[$idx_cmll_obj];
+my $modes_obj = $fields[$idx_modes_obj];
+my $engines_obj = $fields[$idx_engines_obj];
 my $perlasm_scheme = $fields[$idx_perlasm_scheme];
 my $dso_scheme = $fields[$idx_dso_scheme];
 my $shared_target = $fields[$idx_shared_target];
@@ -1293,7 +1322,7 @@ if ($no_asm)
        {
        $cpuid_obj=$bn_obj=
        $des_obj=$aes_obj=$bf_obj=$cast_obj=$rc4_obj=$rc5_obj=$cmll_obj=
-       $sha1_obj=$md5_obj=$rmd160_obj=$wp_obj="";
+       $modes_obj=$sha1_obj=$md5_obj=$rmd160_obj=$wp_obj=$engines_obj="";
        }
 
 if (!$no_shared)
@@ -1357,7 +1386,7 @@ if (!$IsMK1MF)
                }
        }
 
-$cpuid_obj.=" uplink.o uplink-cof.o" if ($cflags =~ /\-DOPENSSL_USE_APPLINK/);
+$cpuid_obj.=" uplink.o uplink-x86.o" if ($cflags =~ /\-DOPENSSL_USE_APPLINK/);
 
 #
 # Platform fix-ups
@@ -1425,6 +1454,8 @@ $cflags.=" -DOPENSSL_BN_ASM_PART_WORDS" if ($bn_obj =~ /bn-586/);
 $cflags.=" -DOPENSSL_IA32_SSE2" if (!$no_sse2 && $bn_obj =~ /86/);
 
 $cflags.=" -DOPENSSL_BN_ASM_MONT" if ($bn_obj =~ /-mont/);
+$cflags.=" -DOPENSSL_BN_ASM_MONT5" if ($bn_obj =~ /-mont5/);
+$cflags.=" -DOPENSSL_BN_ASM_GF2m" if ($bn_obj =~ /-gf2m/);
 
 if ($fips)
        {
@@ -1464,6 +1495,12 @@ if ($rmd160_obj =~ /\.o$/)
 if ($aes_obj =~ /\.o$/)
        {
        $cflags.=" -DAES_ASM";
+       # aes-ctr.o is not a real file, only indication that assembler
+       # module implements AES_ctr32_encrypt...
+       $cflags.=" -DAES_CTR_ASM" if ($aes_obj =~ s/\s*aes\-ctr\.o//);
+       $aes_obj =~ s/\s*(vpaes|aesni)\-x86\.o//g if ($no_sse2);
+       $cflags.=" -DVPAES_ASM" if ($aes_obj =~ m/vpaes/);
+       $cflags.=" -DBSAES_ASM" if ($aes_obj =~ m/bsaes/);
        }
 else   {
        $aes_obj=$aes_enc;
@@ -1477,6 +1514,10 @@ else     {
        $wp_obj="wp_block.o";
        }
 $cmll_obj=$cmll_enc    unless ($cmll_obj =~ /.o$/);
+if ($modes_obj =~ /ghash/)
+       {
+       $cflags.=" -DGHASH_ASM";
+       }
 
 # "Stringify" the C flags string.  This permits it to be made part of a string
 # and works as well on command lines.
@@ -1591,6 +1632,8 @@ while (<IN>)
        s/^RMD160_ASM_OBJ=.*$/RMD160_ASM_OBJ= $rmd160_obj/;
        s/^WP_ASM_OBJ=.*$/WP_ASM_OBJ= $wp_obj/;
        s/^CMLL_ENC=.*$/CMLL_ENC= $cmll_obj/;
+       s/^MODES_ASM_OBJ.=*$/MODES_ASM_OBJ= $modes_obj/;
+       s/^ENGINES_ASM_OBJ.=*$/ENGINES_ASM_OBJ= $engines_obj/;
        s/^PERLASM_SCHEME=.*$/PERLASM_SCHEME= $perlasm_scheme/;
        s/^PROCESSOR=.*/PROCESSOR= $processor/;
        s/^ARFLAGS=.*/ARFLAGS= $arflags/;
@@ -1648,7 +1691,9 @@ print "RC5_ENC       =$rc5_obj\n";
 print "MD5_OBJ_ASM   =$md5_obj\n";
 print "SHA1_OBJ_ASM  =$sha1_obj\n";
 print "RMD160_OBJ_ASM=$rmd160_obj\n";
-print "CMLL_ENC=     =$cmll_obj\n";
+print "CMLL_ENC      =$cmll_obj\n";
+print "MODES_OBJ     =$modes_obj\n";
+print "ENGINES_OBJ   =$engines_obj\n";
 print "PROCESSOR     =$processor\n";
 print "RANLIB        =$ranlib\n";
 print "ARFLAGS       =$arflags\n";
@@ -2041,7 +2086,8 @@ sub print_table_entry
        (my $cc,my $cflags,my $unistd,my $thread_cflag,my $sys_id,my $lflags,
        my $bn_ops,my $cpuid_obj,my $bn_obj,my $des_obj,my $aes_obj, my $bf_obj,
        my $md5_obj,my $sha1_obj,my $cast_obj,my $rc4_obj,my $rmd160_obj,
-       my $rc5_obj,my $wp_obj,my $cmll_obj,my $perlasm_scheme,my $dso_scheme,my $shared_target,my $shared_cflag,
+       my $rc5_obj,my $wp_obj,my $cmll_obj,my $modes_obj, my $engines_obj,
+       my $perlasm_scheme,my $dso_scheme,my $shared_target,my $shared_cflag,
        my $shared_ldflag,my $shared_extension,my $ranlib,my $arflags,my $multilib)=
        split(/\s*:\s*/,$table{$target} . ":" x 30 , -1);
                        
@@ -2068,6 +2114,8 @@ sub print_table_entry
 \$rc5_obj      = $rc5_obj
 \$wp_obj       = $wp_obj
 \$cmll_obj     = $cmll_obj
+\$modes_obj    = $modes_obj
+\$engines_obj  = $engines_obj
 \$perlasm_scheme = $perlasm_scheme
 \$dso_scheme   = $dso_scheme
 \$shared_target= $shared_target
index b66c646..19d0206 100644 (file)
@@ -99,6 +99,8 @@ SHA1_ASM_OBJ=
 RMD160_ASM_OBJ= 
 WP_ASM_OBJ=
 CMLL_ENC=
+MODES_ASM_OBJ=
+ENGINES_ASM_OBJ=
 PERLASM_SCHEME=
 
 # KRB5 stuff
@@ -228,6 +230,8 @@ BUILDENV=   PLATFORM='$(PLATFORM)' PROCESSOR='$(PROCESSOR)' \
                MD5_ASM_OBJ='$(MD5_ASM_OBJ)'                    \
                RMD160_ASM_OBJ='$(RMD160_ASM_OBJ)'              \
                WP_ASM_OBJ='$(WP_ASM_OBJ)'                      \
+               MODES_ASM_OBJ='$(MODES_ASM_OBJ)'                \
+               ENGINES_ASM_OBJ='$(ENGINES_ASM_OBJ)'            \
                PERLASM_SCHEME='$(PERLASM_SCHEME)'              \
                FIPSLIBDIR='${FIPSLIBDIR}'                      \
                FIPSDIR='${FIPSDIR}'                            \
@@ -395,7 +399,7 @@ Makefile: Makefile.org Configure config
        @false
 
 libclean:
-       rm -f *.map *.so *.so.* *.dll engines/*.so engines/*.dll *.a engines/*.a */lib */*/lib
+       rm -f *.map *.so *.so.* *.dylib *.dll engines/*.so engines/*.dll engines/*.dylib *.a engines/*.a */lib */*/lib
 
 clean: libclean
        rm -f shlib/*.o *.o core a.out fluff rehash.time testlog make.log cctest cctest.c
@@ -547,7 +551,7 @@ install_sw:
        chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
        done;
        @set -e; target=install; $(RECURSIVE_BUILD_CMD)
-       @set -e; for i in $(LIBS) ;\
+       @set -e; liblist="$(LIBS)"; for i in $$liblist ;\
        do \
                if [ -f "$$i" ]; then \
                (       echo installing $$i; \
diff --git a/TABLE b/TABLE
index d6e7655..ce7de94 100644 (file)
--- a/TABLE
+++ b/TABLE
@@ -21,6 +21,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = win32
 $shared_target= 
@@ -52,6 +54,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -83,6 +87,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= bsd-gcc-shared
@@ -114,6 +120,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= bsd-gcc-shared
@@ -133,7 +141,7 @@ $sys_id       =
 $lflags       = 
 $bn_ops       = SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT
 $cpuid_obj    = ia64cpuid.o
-$bn_obj       = bn-ia64.o
+$bn_obj       = bn-ia64.o ia64-mont.o
 $des_obj      = 
 $aes_obj      = aes_core.o aes_cbc.o aes-ia64.o
 $bf_obj       = 
@@ -145,6 +153,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-ia64.o
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= bsd-gcc-shared
@@ -176,6 +186,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-sparcv9.o
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= bsd-gcc-shared
@@ -207,6 +219,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= bsd-gcc-shared
@@ -226,9 +240,9 @@ $sys_id       =
 $lflags       = 
 $bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -238,6 +252,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = a.out
 $dso_scheme   = dlfcn
 $shared_target= bsd-shared
@@ -257,9 +273,9 @@ $sys_id       =
 $lflags       = 
 $bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -269,6 +285,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= bsd-shared
@@ -281,16 +299,16 @@ $multilib     =
 
 *** BSD-x86_64
 $cc           = gcc
-$cflags       = -DL_ENDIAN -DTERMIOS -O3 -DMD32_REG_T=int -Wall
+$cflags       = -DL_ENDIAN -DTERMIOS -O3 -Wall
 $unistd       = 
 $thread_cflag = -pthread -D_THREAD_SAFE -D_REENTRANT
 $sys_id       = 
 $lflags       = 
 $bn_ops       = SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL
 $cpuid_obj    = x86_64cpuid.o
-$bn_obj       = x86_64-gcc.o x86_64-mont.o modexp512-x86_64.o
+$bn_obj       = x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o
 $des_obj      = 
-$aes_obj      = aes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
+$aes_obj      = aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
 $bf_obj       = 
 $md5_obj      = md5-x86_64.o
 $sha1_obj     = sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
@@ -300,6 +318,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = wp-x86_64.o
 $cmll_obj     = cmll-x86_64.o cmll_misc.o
+$modes_obj    = ghash-x86_64.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= bsd-gcc-shared
@@ -319,9 +339,9 @@ $sys_id       = CYGWIN32
 $lflags       = 
 $bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -331,6 +351,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = coff
 $dso_scheme   = dlfcn
 $shared_target= cygwin-shared
@@ -362,6 +384,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = win32
 $shared_target= 
@@ -381,9 +405,9 @@ $sys_id       = MSDOS
 $lflags       = -L/dev/env/WATT_ROOT/lib -lwatt
 $bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -393,6 +417,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = a.out
 $dso_scheme   = 
 $shared_target= 
@@ -424,6 +450,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -455,6 +483,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -486,6 +516,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -517,6 +549,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= bsd-gcc-shared
@@ -536,9 +570,9 @@ $sys_id       =
 $lflags       = -lsocket
 $bn_ops       = DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -548,6 +582,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= bsd-gcc-shared
@@ -579,6 +615,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= reliantunix-shared
@@ -610,6 +648,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -641,6 +681,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -672,6 +714,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = win32
 $shared_target= 
@@ -703,6 +747,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = win32
 $shared_target= 
@@ -715,16 +761,16 @@ $multilib     =
 
 *** VC-WIN32
 $cc           = cl
-$cflags       = -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE
+$cflags       = -W3 -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE
 $unistd       = 
 $thread_cflag = 
 $sys_id       = WIN32
 $lflags       = 
 $bn_ops       = BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -734,6 +780,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = win32n
 $dso_scheme   = win32
 $shared_target= 
@@ -753,9 +801,9 @@ $sys_id       = WIN64A
 $lflags       = 
 $bn_ops       = SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN
 $cpuid_obj    = x86_64cpuid.o
-$bn_obj       = bn_asm.o x86_64-mont.o modexp512-x86_64.o
+$bn_obj       = bn_asm.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o
 $des_obj      = 
-$aes_obj      = aes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
+$aes_obj      = aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
 $bf_obj       = 
 $md5_obj      = md5-x86_64.o
 $sha1_obj     = sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
@@ -765,6 +813,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = wp-x86_64.o
 $cmll_obj     = cmll-x86_64.o cmll_misc.o
+$modes_obj    = ghash-x86_64.o
+$engines_obj  = 
 $perlasm_scheme = auto
 $dso_scheme   = win32
 $shared_target= 
@@ -784,7 +834,7 @@ $sys_id       = WIN64I
 $lflags       = 
 $bn_ops       = SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN
 $cpuid_obj    = ia64cpuid.o
-$bn_obj       = ia64.o
+$bn_obj       = ia64.o ia64-mont.o
 $des_obj      = 
 $aes_obj      = aes_core.o aes_cbc.o aes-ia64.o
 $bf_obj       = 
@@ -796,6 +846,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-ia64.o
+$engines_obj  = 
 $perlasm_scheme = ias
 $dso_scheme   = win32
 $shared_target= 
@@ -814,8 +866,8 @@ $thread_cflag = -qthreaded
 $sys_id       = AIX
 $lflags       = 
 $bn_ops       = BN_LLONG RC4_CHAR
-$cpuid_obj    = ppccpuid.o
-$bn_obj       = bn-ppc.o
+$cpuid_obj    = ppccpuid.o ppccap.o
+$bn_obj       = bn-ppc.o ppc-mont.o ppc64-mont.o
 $des_obj      = 
 $aes_obj      = aes_core.o aes_cbc.o aes-ppc.o
 $bf_obj       = 
@@ -827,6 +879,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = aix32
 $dso_scheme   = dlfcn
 $shared_target= aix-shared
@@ -845,8 +899,8 @@ $thread_cflag = -pthread
 $sys_id       = AIX
 $lflags       = 
 $bn_ops       = BN_LLONG RC4_CHAR
-$cpuid_obj    = ppccpuid.o
-$bn_obj       = bn-ppc.o
+$cpuid_obj    = ppccpuid.o ppccap.o
+$bn_obj       = bn-ppc.o ppc-mont.o ppc64-mont.o
 $des_obj      = 
 $aes_obj      = aes_core.o aes_cbc.o aes-ppc.o
 $bf_obj       = 
@@ -858,6 +912,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = aix32
 $dso_scheme   = dlfcn
 $shared_target= aix-shared
@@ -889,6 +945,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -907,8 +965,8 @@ $thread_cflag = -qthreaded
 $sys_id       = AIX
 $lflags       = 
 $bn_ops       = SIXTY_FOUR_BIT_LONG RC4_CHAR
-$cpuid_obj    = ppccpuid.o
-$bn_obj       = bn-ppc.o ppc-mont.o
+$cpuid_obj    = ppccpuid.o ppccap.o
+$bn_obj       = bn-ppc.o ppc-mont.o ppc64-mont.o
 $des_obj      = 
 $aes_obj      = aes_core.o aes_cbc.o aes-ppc.o
 $bf_obj       = 
@@ -920,6 +978,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = aix64
 $dso_scheme   = dlfcn
 $shared_target= aix-shared
@@ -938,8 +998,8 @@ $thread_cflag = -pthread
 $sys_id       = AIX
 $lflags       = 
 $bn_ops       = SIXTY_FOUR_BIT_LONG RC4_CHAR
-$cpuid_obj    = ppccpuid.o
-$bn_obj       = bn-ppc.o ppc-mont.o
+$cpuid_obj    = ppccpuid.o ppccap.o
+$bn_obj       = bn-ppc.o ppc-mont.o ppc64-mont.o
 $des_obj      = 
 $aes_obj      = aes_core.o aes_cbc.o aes-ppc.o
 $bf_obj       = 
@@ -951,6 +1011,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = aix64
 $dso_scheme   = dlfcn
 $shared_target= aix-shared
@@ -982,6 +1044,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -1000,8 +1064,8 @@ $thread_cflag = -D_REENTRANT
 $sys_id       = 
 $lflags       = -ldl
 $bn_ops       = BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR
-$cpuid_obj    = 
-$bn_obj       = bn_asm.o armv4-mont.o
+$cpuid_obj    = armcap.o armv4cpuid.o
+$bn_obj       = bn_asm.o armv4-mont.o armv4-gf2m.o
 $des_obj      = 
 $aes_obj      = aes_cbc.o aes-armv4.o
 $bf_obj       = 
@@ -1013,6 +1077,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-armv4.o
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -1023,6 +1089,39 @@ $ranlib       =
 $arflags      = 
 $multilib     = 
 
+*** android-x86
+$cc           = gcc
+$cflags       = -mandroid -I$(ANDROID_DEV)/include -B$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall
+$unistd       = 
+$thread_cflag = -D_REENTRANT
+$sys_id       = 
+$lflags       = -ldl
+$bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
+$cpuid_obj    = x86cpuid.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
+$des_obj      = des-586.o crypt586.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
+$bf_obj       = bf-586.o
+$md5_obj      = md5-586.o
+$sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
+$cast_obj     = cast-586.o
+$rc4_obj      = rc4-586.o
+$rmd160_obj   = rmd-586.o
+$rc5_obj      = rc5-586.o
+$wp_obj       = wp_block.o wp-mmx.o
+$cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
+$perlasm_scheme = android
+$dso_scheme   = dlfcn
+$shared_target= linux-shared
+$shared_cflag = -fPIC
+$shared_ldflag = 
+$shared_extension = .so.$(SHLIB_MAJOR).$(SHLIB_MINOR)
+$ranlib       = 
+$arflags      = 
+$multilib     = 
+
 *** aux3-gcc
 $cc           = gcc
 $cflags       = -O2 -DTERMIO
@@ -1044,6 +1143,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -1063,9 +1164,9 @@ $sys_id       = BEOS
 $lflags       = -lbe -lbind -lsocket
 $bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -1075,6 +1176,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = beos
 $shared_target= beos-shared
@@ -1094,9 +1197,9 @@ $sys_id       = BEOS
 $lflags       = -lbe -lnet
 $bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -1106,6 +1209,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = beos
 $shared_target= beos-shared
@@ -1125,9 +1230,9 @@ $sys_id       =
 $lflags       = -ldl
 $bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -1137,6 +1242,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= bsd-gcc-shared
@@ -1168,6 +1275,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -1199,6 +1308,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -1230,6 +1341,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -1249,18 +1362,20 @@ $sys_id       = MACOSX
 $lflags       = -Wl,-search_paths_first%
 $bn_ops       = BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
-$cast_obj     = cast-586.o
+$cast_obj     = 
 $rc4_obj      = rc4-586.o
 $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = macosx
 $dso_scheme   = dlfcn
 $shared_target= darwin-shared
@@ -1279,8 +1394,8 @@ $thread_cflag = -D_REENTRANT
 $sys_id       = MACOSX
 $lflags       = -Wl,-search_paths_first%
 $bn_ops       = BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR
-$cpuid_obj    = ppccpuid.o
-$bn_obj       = bn-ppc.o
+$cpuid_obj    = ppccpuid.o ppccap.o
+$bn_obj       = bn-ppc.o ppc-mont.o ppc64-mont.o
 $des_obj      = 
 $aes_obj      = aes_core.o aes_cbc.o aes-ppc.o
 $bf_obj       = 
@@ -1292,6 +1407,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = osx32
 $dso_scheme   = dlfcn
 $shared_target= darwin-shared
@@ -1310,8 +1427,8 @@ $thread_cflag = -D_REENTRANT
 $sys_id       = MACOSX
 $lflags       = -Wl,-search_paths_first%
 $bn_ops       = SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR
-$cpuid_obj    = ppccpuid.o
-$bn_obj       = bn-ppc.o ppc-mont.o
+$cpuid_obj    = ppccpuid.o ppccap.o
+$bn_obj       = bn-ppc.o ppc-mont.o ppc64-mont.o
 $des_obj      = 
 $aes_obj      = aes_core.o aes_cbc.o aes-ppc.o
 $bf_obj       = 
@@ -1323,6 +1440,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = osx64
 $dso_scheme   = dlfcn
 $shared_target= darwin-shared
@@ -1335,25 +1454,27 @@ $multilib     =
 
 *** darwin64-x86_64-cc
 $cc           = cc
-$cflags       = -arch x86_64 -O3 -DL_ENDIAN -DMD32_REG_T=int -Wall
+$cflags       = -arch x86_64 -O3 -DL_ENDIAN -Wall
 $unistd       = 
 $thread_cflag = -D_REENTRANT
 $sys_id       = MACOSX
 $lflags       = -Wl,-search_paths_first%
 $bn_ops       = SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL
 $cpuid_obj    = x86_64cpuid.o
-$bn_obj       = x86_64-gcc.o x86_64-mont.o modexp512-x86_64.o
+$bn_obj       = x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o
 $des_obj      = 
-$aes_obj      = aes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
+$aes_obj      = aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
 $bf_obj       = 
 $md5_obj      = md5-x86_64.o
 $sha1_obj     = sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
 $cast_obj     = 
-$rc4_obj      = rc4-x86_64.o rc4-md5-x86_64.o
+$rc4_obj      = 
 $rmd160_obj   = 
 $rc5_obj      = 
 $wp_obj       = wp-x86_64.o
 $cmll_obj     = cmll-x86_64.o cmll_misc.o
+$modes_obj    = ghash-x86_64.o
+$engines_obj  = 
 $perlasm_scheme = macosx
 $dso_scheme   = dlfcn
 $shared_target= darwin-shared
@@ -1385,6 +1506,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -1404,9 +1527,9 @@ $sys_id       =
 $lflags       = 
 $bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -1416,6 +1539,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= bsd-shared
@@ -1447,6 +1572,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= cygwin-shared
@@ -1466,9 +1593,9 @@ $sys_id       = WIN32
 $lflags       = 
 $bn_ops       = BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -1478,6 +1605,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = win32n
 $dso_scheme   = win32
 $shared_target= 
@@ -1497,9 +1626,9 @@ $sys_id       = WIN64A
 $lflags       = 
 $bn_ops       = SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN
 $cpuid_obj    = x86_64cpuid.o
-$bn_obj       = bn_asm.o x86_64-mont.o modexp512-x86_64.o
+$bn_obj       = bn_asm.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o
 $des_obj      = 
-$aes_obj      = aes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
+$aes_obj      = aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
 $bf_obj       = 
 $md5_obj      = md5-x86_64.o
 $sha1_obj     = sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
@@ -1509,6 +1638,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = wp-x86_64.o
 $cmll_obj     = cmll-x86_64.o cmll_misc.o
+$modes_obj    = ghash-x86_64.o
+$engines_obj  = 
 $perlasm_scheme = auto
 $dso_scheme   = win32
 $shared_target= 
@@ -1540,6 +1671,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-ia64.o
+$engines_obj  = 
 $perlasm_scheme = ias
 $dso_scheme   = win32
 $shared_target= 
@@ -1552,14 +1685,14 @@ $multilib     =
 
 *** debug-ben
 $cc           = gcc
-$cflags       = -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DDEBUG_UNUSED -O2 -pedantic -Wall -Wshadow -Werror -pipe
+$cflags       = -Wall -pedantic -DPEDANTIC -Wno-long-long -Wsign-compare -Wmissing-prototypes -Wshadow -Wformat -Werror -DCRYPTO_MDEBUG_ALL -DCRYPTO_MDEBUG_ABORT -DREF_CHECK -DOPENSSL_NO_DEPRECATED -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DDEBUG_SAFESTACK -O2 -pipe
 $unistd       = 
 $thread_cflag = (unknown)
 $sys_id       = 
 $lflags       = 
 $bn_ops       = 
 $cpuid_obj    = 
-$bn_obj       = bn86-elf.o co86-elf.o
+$bn_obj       = 
 $des_obj      = 
 $aes_obj      = 
 $bf_obj       = 
@@ -1571,6 +1704,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -1602,6 +1737,41 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
+$perlasm_scheme = 
+$dso_scheme   = 
+$shared_target= 
+$shared_cflag = 
+$shared_ldflag = 
+$shared_extension = 
+$ranlib       = 
+$arflags      = 
+$multilib     = 
+
+*** debug-ben-macos
+$cc           = cc
+$cflags       = -Wall -pedantic -DPEDANTIC -Wno-long-long -Wsign-compare -Wmissing-prototypes -Wshadow -Wformat -Werror -DCRYPTO_MDEBUG_ALL -DCRYPTO_MDEBUG_ABORT -DREF_CHECK -DOPENSSL_NO_DEPRECATED -DBN_DEBUG -DCONF_DEBUG -DDEBUG_SAFESTACK -DDEBUG_UNUSED -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -arch i386 -O3 -DL_ENDIAN -g3 -pipe
+$unistd       = 
+$thread_cflag = (unknown)
+$sys_id       = 
+$lflags       = 
+$bn_ops       = 
+$cpuid_obj    = 
+$bn_obj       = 
+$des_obj      = 
+$aes_obj      = 
+$bf_obj       = 
+$md5_obj      = 
+$sha1_obj     = 
+$cast_obj     = 
+$rc4_obj      = 
+$rmd160_obj   = 
+$rc5_obj      = 
+$wp_obj       = 
+$cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -1633,6 +1803,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -1664,6 +1836,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -1695,6 +1869,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -1726,6 +1902,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -1745,9 +1923,9 @@ $sys_id       =
 $lflags       = -ldl
 $bn_ops       = SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL
 $cpuid_obj    = x86_64cpuid.o
-$bn_obj       = x86_64-gcc.o x86_64-mont.o modexp512-x86_64.o
+$bn_obj       = x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o
 $des_obj      = 
-$aes_obj      = aes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
+$aes_obj      = aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
 $bf_obj       = 
 $md5_obj      = md5-x86_64.o
 $sha1_obj     = sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
@@ -1757,6 +1935,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = wp-x86_64.o
 $cmll_obj     = cmll-x86_64.o cmll_misc.o
+$modes_obj    = ghash-x86_64.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -1776,9 +1956,9 @@ $sys_id       = MACOSX
 $lflags       = -Wl,-search_paths_first%
 $bn_ops       = BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -1788,6 +1968,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = macosx
 $dso_scheme   = dlfcn
 $shared_target= darwin-shared
@@ -1806,8 +1988,8 @@ $thread_cflag = -D_REENTRANT
 $sys_id       = MACOSX
 $lflags       = 
 $bn_ops       = BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR
-$cpuid_obj    = ppccpuid.o
-$bn_obj       = bn-ppc.o
+$cpuid_obj    = ppccpuid.o ppccap.o
+$bn_obj       = bn-ppc.o ppc-mont.o ppc64-mont.o
 $des_obj      = 
 $aes_obj      = aes_core.o aes_cbc.o aes-ppc.o
 $bf_obj       = 
@@ -1819,6 +2001,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = osx32
 $dso_scheme   = dlfcn
 $shared_target= darwin-shared
@@ -1831,7 +2015,7 @@ $multilib     =
 
 *** debug-geoff32
 $cc           = gcc
-$cflags       = -DBN_DEBUG -DBN_DEBUG_RAND -DBN_STRICT -DPURIFY -DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_ASM -DOPENSSL_NO_INLINE_ASM -DL_ENDIAN -DTERMIO -DPEDANTIC -DMD32_REG_T=int -O1 -ggdb2 -Wall -Werror -Wundef -pedantic -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Wmissing-prototypes -Wmissing-declarations -Wno-long-long
+$cflags       = -DBN_DEBUG -DBN_DEBUG_RAND -DBN_STRICT -DPURIFY -DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_ASM -DOPENSSL_NO_INLINE_ASM -DL_ENDIAN -DTERMIO -DPEDANTIC -O1 -ggdb2 -Wall -Werror -Wundef -pedantic -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Wmissing-prototypes -Wmissing-declarations -Wno-long-long
 $unistd       = 
 $thread_cflag = -D_REENTRANT
 $sys_id       = 
@@ -1850,6 +2034,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -1862,7 +2048,7 @@ $multilib     =
 
 *** debug-geoff64
 $cc           = gcc
-$cflags       = -DBN_DEBUG -DBN_DEBUG_RAND -DBN_STRICT -DPURIFY -DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_ASM -DOPENSSL_NO_INLINE_ASM -DL_ENDIAN -DTERMIO -DPEDANTIC -DMD32_REG_T=int -O1 -ggdb2 -Wall -Werror -Wundef -pedantic -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Wmissing-prototypes -Wmissing-declarations -Wno-long-long
+$cflags       = -DBN_DEBUG -DBN_DEBUG_RAND -DBN_STRICT -DPURIFY -DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_ASM -DOPENSSL_NO_INLINE_ASM -DL_ENDIAN -DTERMIO -DPEDANTIC -O1 -ggdb2 -Wall -Werror -Wundef -pedantic -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Wmissing-prototypes -Wmissing-declarations -Wno-long-long
 $unistd       = 
 $thread_cflag = -D_REENTRANT
 $sys_id       = 
@@ -1881,6 +2067,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -1900,9 +2088,9 @@ $sys_id       =
 $lflags       = -ldl
 $bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -1912,6 +2100,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -1931,9 +2121,9 @@ $sys_id       =
 $lflags       = -ldl
 $bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -1943,6 +2133,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -1974,6 +2166,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -2005,6 +2199,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -2024,9 +2220,9 @@ $sys_id       =
 $lflags       = -lefence -ldl
 $bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -2036,6 +2232,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -2055,9 +2253,9 @@ $sys_id       =
 $lflags       = -ldl
 $bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -2067,6 +2265,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -2098,6 +2298,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -2129,6 +2331,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -2150,7 +2354,7 @@ $bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
 $bn_obj       = bn-586.o co-586.o x86-mont.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes_x86core.o aes_cbc.o
+$aes_obj      = aes_x86core.o aes_cbc.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -2160,6 +2364,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = 
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -2179,9 +2385,9 @@ $sys_id       =
 $lflags       = -ldl
 $bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -2191,6 +2397,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= 
@@ -2210,9 +2418,9 @@ $sys_id       =
 $lflags       = -ldl
 $bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -2222,6 +2430,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= 
@@ -2234,16 +2444,16 @@ $multilib     =
 
 *** debug-linux-x86_64
 $cc           = gcc
-$cflags       = -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -m64 -DL_ENDIAN -DTERMIO -g -Wall -DMD32_REG_T=int
+$cflags       = -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -m64 -DL_ENDIAN -DTERMIO -g -Wall
 $unistd       = 
 $thread_cflag = -D_REENTRANT
 $sys_id       = 
 $lflags       = -ldl
 $bn_ops       = SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL
 $cpuid_obj    = x86_64cpuid.o
-$bn_obj       = x86_64-gcc.o x86_64-mont.o modexp512-x86_64.o
+$bn_obj       = x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o
 $des_obj      = 
-$aes_obj      = aes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
+$aes_obj      = aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
 $bf_obj       = 
 $md5_obj      = md5-x86_64.o
 $sha1_obj     = sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
@@ -2253,6 +2463,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = wp-x86_64.o
 $cmll_obj     = cmll-x86_64.o cmll_misc.o
+$modes_obj    = ghash-x86_64.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -2272,9 +2484,9 @@ $sys_id       =
 $lflags       = 
 $bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -2284,6 +2496,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = 
 $shared_target= 
@@ -2315,6 +2529,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= solaris-shared
@@ -2346,6 +2562,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= solaris-shared
@@ -2377,6 +2595,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-sparcv9.o
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= solaris-shared
@@ -2408,6 +2628,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-sparcv9.o
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= solaris-shared
@@ -2420,16 +2642,16 @@ $multilib     =
 
 *** debug-steve-opt
 $cc           = gcc
-$cflags       = -Wall -pedantic -DPEDANTIC -Wno-long-long -Wsign-compare -Wmissing-prototypes -Wshadow -Wformat -Werror -DCRYPTO_MDEBUG_ALL -DCRYPTO_MDEBUG_ABORT -DREF_CHECK -DOPENSSL_NO_DEPRECATED -m64 -O3 -DL_ENDIAN -DTERMIO -DCONF_DEBUG -DDEBUG_SAFESTACK -g -DMD32_REG_T=int
+$cflags       = -Wall -pedantic -DPEDANTIC -Wno-long-long -Wsign-compare -Wmissing-prototypes -Wshadow -Wformat -Werror -DCRYPTO_MDEBUG_ALL -DCRYPTO_MDEBUG_ABORT -DREF_CHECK -DOPENSSL_NO_DEPRECATED -m64 -O3 -DL_ENDIAN -DTERMIO -DCONF_DEBUG -DDEBUG_SAFESTACK -g
 $unistd       = 
 $thread_cflag = -D_REENTRANT
 $sys_id       = 
 $lflags       = -ldl
 $bn_ops       = SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL
 $cpuid_obj    = x86_64cpuid.o
-$bn_obj       = x86_64-gcc.o x86_64-mont.o modexp512-x86_64.o
+$bn_obj       = x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o
 $des_obj      = 
-$aes_obj      = aes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
+$aes_obj      = aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
 $bf_obj       = 
 $md5_obj      = md5-x86_64.o
 $sha1_obj     = sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
@@ -2439,6 +2661,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = wp-x86_64.o
 $cmll_obj     = cmll-x86_64.o cmll_misc.o
+$modes_obj    = ghash-x86_64.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -2458,9 +2682,9 @@ $sys_id       =
 $lflags       = -rdynamic -ldl
 $bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -2470,6 +2694,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -2482,16 +2708,16 @@ $multilib     =
 
 *** debug-steve64
 $cc           = gcc
-$cflags       = -Wall -pedantic -DPEDANTIC -Wno-long-long -Wsign-compare -Wmissing-prototypes -Wshadow -Wformat -Werror -DCRYPTO_MDEBUG_ALL -DCRYPTO_MDEBUG_ABORT -DREF_CHECK -DOPENSSL_NO_DEPRECATED -m64 -DL_ENDIAN -DTERMIO -DCONF_DEBUG -DDEBUG_SAFESTACK -g -DMD32_REG_T=int
+$cflags       = -Wall -pedantic -DPEDANTIC -Wno-long-long -Wsign-compare -Wmissing-prototypes -Wshadow -Wformat -Werror -DCRYPTO_MDEBUG_ALL -DCRYPTO_MDEBUG_ABORT -DREF_CHECK -DOPENSSL_NO_DEPRECATED -m64 -DL_ENDIAN -DTERMIO -DCONF_DEBUG -DDEBUG_SAFESTACK -g
 $unistd       = 
 $thread_cflag = -D_REENTRANT
 $sys_id       = 
 $lflags       = -ldl
 $bn_ops       = SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL
 $cpuid_obj    = x86_64cpuid.o
-$bn_obj       = x86_64-gcc.o x86_64-mont.o modexp512-x86_64.o
+$bn_obj       = x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o
 $des_obj      = 
-$aes_obj      = aes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
+$aes_obj      = aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
 $bf_obj       = 
 $md5_obj      = md5-x86_64.o
 $sha1_obj     = sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
@@ -2501,6 +2727,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = wp-x86_64.o
 $cmll_obj     = cmll-x86_64.o cmll_misc.o
+$modes_obj    = ghash-x86_64.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -2532,6 +2760,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = win32
 $shared_target= cygwin-shared
@@ -2563,6 +2793,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = 
 $shared_target= 
@@ -2594,6 +2826,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -2625,6 +2859,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -2644,9 +2880,9 @@ $sys_id       =
 $lflags       = -lnsl -lsocket
 $bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -2656,6 +2892,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = 
 $shared_target= 
@@ -2687,6 +2925,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -2718,6 +2958,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -2749,6 +2991,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dl
 $shared_target= hpux-shared
@@ -2780,6 +3024,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dl
 $shared_target= hpux-shared
@@ -2799,7 +3045,7 @@ $sys_id       =
 $lflags       = -ldl
 $bn_ops       = SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT
 $cpuid_obj    = ia64cpuid.o
-$bn_obj       = bn-ia64.o
+$bn_obj       = bn-ia64.o ia64-mont.o
 $des_obj      = 
 $aes_obj      = aes_core.o aes_cbc.o aes-ia64.o
 $bf_obj       = 
@@ -2811,6 +3057,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-ia64.o
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= hpux-shared
@@ -2830,7 +3078,7 @@ $sys_id       =
 $lflags       = -ldl
 $bn_ops       = SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT
 $cpuid_obj    = ia64cpuid.o
-$bn_obj       = bn-ia64.o
+$bn_obj       = bn-ia64.o ia64-mont.o
 $des_obj      = 
 $aes_obj      = aes_core.o aes_cbc.o aes-ia64.o
 $bf_obj       = 
@@ -2842,6 +3090,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-ia64.o
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= hpux-shared
@@ -2873,6 +3123,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dl
 $shared_target= hpux-shared
@@ -2904,6 +3156,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dl
 $shared_target= hpux-shared
@@ -2935,6 +3189,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dl
 $shared_target= hpux-shared
@@ -2945,28 +3201,30 @@ $ranlib       =
 $arflags      = 
 $multilib     = 
 
-*** hpux-parisc1_0-cc
+*** hpux-parisc1_1-cc
 $cc           = cc
-$cflags       = +DAportable +O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY
+$cflags       = +DA1.1 +O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY
 $unistd       = 
 $thread_cflag = -D_REENTRANT
 $sys_id       = 
 $lflags       = -Wl,+s -ldld
 $bn_ops       = MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT
-$cpuid_obj    = 
-$bn_obj       = 
+$cpuid_obj    = pariscid.o
+$bn_obj       = bn_asm.o parisc-mont.o
 $des_obj      = 
-$aes_obj      = 
+$aes_obj      = aes_core.o aes_cbc.o aes-parisc.o
 $bf_obj       = 
 $md5_obj      = 
-$sha1_obj     = 
+$sha1_obj     = sha1-parisc.o sha256-parisc.o sha512-parisc.o
 $cast_obj     = 
-$rc4_obj      = 
+$rc4_obj      = rc4-parisc.o
 $rmd160_obj   = 
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
-$perlasm_scheme = void
+$modes_obj    = ghash-parisc.o
+$engines_obj  = 
+$perlasm_scheme = 32
 $dso_scheme   = dl
 $shared_target= hpux-shared
 $shared_cflag = +Z
@@ -2974,6 +3232,39 @@ $shared_ldflag = -b
 $shared_extension = .sl.$(SHLIB_MAJOR).$(SHLIB_MINOR)
 $ranlib       = 
 $arflags      = 
+$multilib     = /pa1.1
+
+*** hpux-parisc1_1-gcc
+$cc           = gcc
+$cflags       = -O3 -DB_ENDIAN -DBN_DIV2W
+$unistd       = 
+$thread_cflag = -D_REENTRANT
+$sys_id       = 
+$lflags       = -Wl,+s -ldld
+$bn_ops       = BN_LLONG DES_PTR DES_UNROLL DES_RISC1
+$cpuid_obj    = pariscid.o
+$bn_obj       = bn_asm.o parisc-mont.o
+$des_obj      = 
+$aes_obj      = aes_core.o aes_cbc.o aes-parisc.o
+$bf_obj       = 
+$md5_obj      = 
+$sha1_obj     = sha1-parisc.o sha256-parisc.o sha512-parisc.o
+$cast_obj     = 
+$rc4_obj      = rc4-parisc.o
+$rmd160_obj   = 
+$rc5_obj      = 
+$wp_obj       = 
+$cmll_obj     = 
+$modes_obj    = ghash-parisc.o
+$engines_obj  = 
+$perlasm_scheme = 32
+$dso_scheme   = dl
+$shared_target= hpux-shared
+$shared_cflag = -fPIC
+$shared_ldflag = -shared
+$shared_extension = .sl.$(SHLIB_MAJOR).$(SHLIB_MINOR)
+$ranlib       = 
+$arflags      = 
 $multilib     = 
 
 *** hpux-parisc2-cc
@@ -2997,6 +3288,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dl
 $shared_target= hpux-shared
@@ -3028,6 +3321,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dl
 $shared_target= hpux-shared
@@ -3047,7 +3342,7 @@ $sys_id       =
 $lflags       = -ldl
 $bn_ops       = SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT
 $cpuid_obj    = ia64cpuid.o
-$bn_obj       = bn-ia64.o
+$bn_obj       = bn-ia64.o ia64-mont.o
 $des_obj      = 
 $aes_obj      = aes_core.o aes_cbc.o aes-ia64.o
 $bf_obj       = 
@@ -3059,6 +3354,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-ia64.o
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= hpux-shared
@@ -3078,7 +3375,7 @@ $sys_id       =
 $lflags       = -ldl
 $bn_ops       = SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT
 $cpuid_obj    = ia64cpuid.o
-$bn_obj       = bn-ia64.o
+$bn_obj       = bn-ia64.o ia64-mont.o
 $des_obj      = 
 $aes_obj      = aes_core.o aes_cbc.o aes-ia64.o
 $bf_obj       = 
@@ -3090,6 +3387,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-ia64.o
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= hpux-shared
@@ -3108,20 +3407,22 @@ $thread_cflag =
 $sys_id       = 
 $lflags       = -ldl
 $bn_ops       = SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT
-$cpuid_obj    = 
-$bn_obj       = pa-risc2W.o
+$cpuid_obj    = pariscid.o
+$bn_obj       = pa-risc2W.o parisc-mont.o
 $des_obj      = 
-$aes_obj      = 
+$aes_obj      = aes_core.o aes_cbc.o aes-parisc.o
 $bf_obj       = 
 $md5_obj      = 
-$sha1_obj     = 
+$sha1_obj     = sha1-parisc.o sha256-parisc.o sha512-parisc.o
 $cast_obj     = 
-$rc4_obj      = 
+$rc4_obj      = rc4-parisc.o
 $rmd160_obj   = 
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
-$perlasm_scheme = void
+$modes_obj    = ghash-parisc.o
+$engines_obj  = 
+$perlasm_scheme = 64
 $dso_scheme   = dlfcn
 $shared_target= hpux-shared
 $shared_cflag = +Z
@@ -3152,6 +3453,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= hpux-shared
@@ -3171,9 +3474,9 @@ $sys_id       =
 $lflags       = -ldl
 $bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -3183,6 +3486,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -3193,6 +3498,39 @@ $ranlib       =
 $arflags      = 
 $multilib     = 
 
+*** iphoneos-cross
+$cc           = llvm-gcc
+$cflags       = -O3 -isysroot $(CROSS_TOP)/SDKs/$(CROSS_SDK) -fomit-frame-pointer -fno-common
+$unistd       = 
+$thread_cflag = -D_REENTRANT
+$sys_id       = iOS
+$lflags       = -Wl,-search_paths_first%
+$bn_ops       = BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR
+$cpuid_obj    = 
+$bn_obj       = 
+$des_obj      = 
+$aes_obj      = 
+$bf_obj       = 
+$md5_obj      = 
+$sha1_obj     = 
+$cast_obj     = 
+$rc4_obj      = 
+$rmd160_obj   = 
+$rc5_obj      = 
+$wp_obj       = 
+$cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
+$perlasm_scheme = void
+$dso_scheme   = dlfcn
+$shared_target= darwin-shared
+$shared_cflag = -fPIC -fno-common
+$shared_ldflag = -dynamiclib
+$shared_extension = .$(SHLIB_MAJOR).$(SHLIB_MINOR).dylib
+$ranlib       = 
+$arflags      = 
+$multilib     = 
+
 *** irix-cc
 $cc           = cc
 $cflags       = -O2 -use_readonly_const -DTERMIOS -DB_ENDIAN
@@ -3202,19 +3540,21 @@ $sys_id       =
 $lflags       = 
 $bn_ops       = BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC2 DES_UNROLL BF_PTR
 $cpuid_obj    = 
-$bn_obj       = 
+$bn_obj       = bn-mips.o
 $des_obj      = 
-$aes_obj      = 
+$aes_obj      = aes_cbc.o aes-mips.o
 $bf_obj       = 
 $md5_obj      = 
-$sha1_obj     = 
+$sha1_obj     = sha1-mips.o sha256-mips.o
 $cast_obj     = 
 $rc4_obj      = 
 $rmd160_obj   = 
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
-$perlasm_scheme = void
+$modes_obj    = 
+$engines_obj  = 
+$perlasm_scheme = o32
 $dso_scheme   = dlfcn
 $shared_target= irix-shared
 $shared_cflag = 
@@ -3233,19 +3573,21 @@ $sys_id       =
 $lflags       = 
 $bn_ops       = BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK DES_UNROLL DES_RISC2 DES_PTR BF_PTR
 $cpuid_obj    = 
-$bn_obj       = 
+$bn_obj       = bn-mips.o
 $des_obj      = 
-$aes_obj      = 
+$aes_obj      = aes_cbc.o aes-mips.o
 $bf_obj       = 
 $md5_obj      = 
-$sha1_obj     = 
+$sha1_obj     = sha1-mips.o sha256-mips.o
 $cast_obj     = 
 $rc4_obj      = 
 $rmd160_obj   = 
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
-$perlasm_scheme = void
+$modes_obj    = 
+$engines_obj  = 
+$perlasm_scheme = o32
 $dso_scheme   = dlfcn
 $shared_target= irix-shared
 $shared_cflag = 
@@ -3264,19 +3606,21 @@ $sys_id       =
 $lflags       = 
 $bn_ops       = DES_PTR RC4_CHAR RC4_CHUNK_LL DES_RISC2 DES_UNROLL BF_PTR SIXTY_FOUR_BIT
 $cpuid_obj    = 
-$bn_obj       = bn-mips3.o
+$bn_obj       = bn-mips.o mips-mont.o
 $des_obj      = 
-$aes_obj      = 
+$aes_obj      = aes_cbc.o aes-mips.o
 $bf_obj       = 
 $md5_obj      = 
-$sha1_obj     = 
+$sha1_obj     = sha1-mips.o sha256-mips.o sha512-mips.o
 $cast_obj     = 
 $rc4_obj      = 
 $rmd160_obj   = 
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
-$perlasm_scheme = void
+$modes_obj    = 
+$engines_obj  = 
+$perlasm_scheme = n32
 $dso_scheme   = dlfcn
 $shared_target= irix-shared
 $shared_cflag = 
@@ -3295,19 +3639,21 @@ $sys_id       =
 $lflags       = 
 $bn_ops       = MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK_LL DES_UNROLL DES_RISC2 DES_PTR BF_PTR SIXTY_FOUR_BIT
 $cpuid_obj    = 
-$bn_obj       = bn-mips3.o
+$bn_obj       = bn-mips.o mips-mont.o
 $des_obj      = 
-$aes_obj      = 
+$aes_obj      = aes_cbc.o aes-mips.o
 $bf_obj       = 
 $md5_obj      = 
-$sha1_obj     = 
+$sha1_obj     = sha1-mips.o sha256-mips.o sha512-mips.o
 $cast_obj     = 
 $rc4_obj      = 
 $rmd160_obj   = 
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
-$perlasm_scheme = void
+$modes_obj    = 
+$engines_obj  = 
+$perlasm_scheme = n32
 $dso_scheme   = dlfcn
 $shared_target= irix-shared
 $shared_cflag = 
@@ -3326,19 +3672,21 @@ $sys_id       =
 $lflags       = 
 $bn_ops       = RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG
 $cpuid_obj    = 
-$bn_obj       = bn-mips3.o
+$bn_obj       = bn-mips.o mips-mont.o
 $des_obj      = 
-$aes_obj      = 
+$aes_obj      = aes_cbc.o aes-mips.o
 $bf_obj       = 
 $md5_obj      = 
-$sha1_obj     = 
+$sha1_obj     = sha1-mips.o sha256-mips.o sha512-mips.o
 $cast_obj     = 
 $rc4_obj      = 
 $rmd160_obj   = 
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
-$perlasm_scheme = void
+$modes_obj    = 
+$engines_obj  = 
+$perlasm_scheme = 64
 $dso_scheme   = dlfcn
 $shared_target= irix-shared
 $shared_cflag = 
@@ -3357,19 +3705,21 @@ $sys_id       =
 $lflags       = 
 $bn_ops       = RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG
 $cpuid_obj    = 
-$bn_obj       = bn-mips3.o
+$bn_obj       = bn-mips.o mips-mont.o
 $des_obj      = 
-$aes_obj      = 
+$aes_obj      = aes_cbc.o aes-mips.o
 $bf_obj       = 
 $md5_obj      = 
-$sha1_obj     = 
+$sha1_obj     = sha1-mips.o sha256-mips.o sha512-mips.o
 $cast_obj     = 
 $rc4_obj      = 
 $rmd160_obj   = 
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
-$perlasm_scheme = void
+$modes_obj    = 
+$engines_obj  = 
+$perlasm_scheme = 64
 $dso_scheme   = dlfcn
 $shared_target= irix-shared
 $shared_cflag = 
@@ -3393,13 +3743,15 @@ $des_obj      =
 $aes_obj      = 
 $bf_obj       = 
 $md5_obj      = 
-$sha1_obj     = 
+$sha1_obj     = sha1-alpha.o
 $cast_obj     = 
 $rc4_obj      = 
 $rmd160_obj   = 
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-alpha.o
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = 
 $shared_target= 
@@ -3424,13 +3776,15 @@ $des_obj      =
 $aes_obj      = 
 $bf_obj       = 
 $md5_obj      = 
-$sha1_obj     = 
+$sha1_obj     = sha1-alpha.o
 $cast_obj     = 
 $rc4_obj      = 
 $rmd160_obj   = 
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-alpha.o
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -3455,13 +3809,15 @@ $des_obj      =
 $aes_obj      = 
 $bf_obj       = 
 $md5_obj      = 
-$sha1_obj     = 
+$sha1_obj     = sha1-alpha.o
 $cast_obj     = 
 $rc4_obj      = 
 $rmd160_obj   = 
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-alpha.o
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = 
 $shared_target= 
@@ -3486,13 +3842,15 @@ $des_obj      =
 $aes_obj      = 
 $bf_obj       = 
 $md5_obj      = 
-$sha1_obj     = 
+$sha1_obj     = sha1-alpha.o
 $cast_obj     = 
 $rc4_obj      = 
 $rmd160_obj   = 
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-alpha.o
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -3512,9 +3870,9 @@ $sys_id       =
 $lflags       = 
 $bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -3524,6 +3882,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = a.out
 $dso_scheme   = 
 $shared_target= 
@@ -3542,8 +3902,8 @@ $thread_cflag = -D_REENTRANT
 $sys_id       = 
 $lflags       = -ldl
 $bn_ops       = BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR
-$cpuid_obj    = 
-$bn_obj       = bn_asm.o armv4-mont.o
+$cpuid_obj    = armcap.o armv4cpuid.o
+$bn_obj       = bn_asm.o armv4-mont.o armv4-gf2m.o
 $des_obj      = 
 $aes_obj      = aes_cbc.o aes-armv4.o
 $bf_obj       = 
@@ -3555,6 +3915,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-armv4.o
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -3574,9 +3936,9 @@ $sys_id       =
 $lflags       = -ldl
 $bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -3586,6 +3948,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -3617,6 +3981,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -3648,6 +4014,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -3667,9 +4035,9 @@ $sys_id       =
 $lflags       = -ldl
 $bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -3679,6 +4047,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -3698,7 +4068,7 @@ $sys_id       =
 $lflags       = -ldl
 $bn_ops       = SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT
 $cpuid_obj    = ia64cpuid.o
-$bn_obj       = bn-ia64.o
+$bn_obj       = bn-ia64.o ia64-mont.o
 $des_obj      = 
 $aes_obj      = aes_core.o aes_cbc.o aes-ia64.o
 $bf_obj       = 
@@ -3710,6 +4080,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-ia64.o
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -3729,7 +4101,7 @@ $sys_id       =
 $lflags       = -ldl
 $bn_ops       = SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT
 $cpuid_obj    = ia64cpuid.o
-$bn_obj       = bn-ia64.o
+$bn_obj       = bn-ia64.o ia64-mont.o
 $des_obj      = 
 $aes_obj      = aes_core.o aes_cbc.o aes-ia64.o
 $bf_obj       = 
@@ -3741,6 +4113,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-ia64.o
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -3760,7 +4134,7 @@ $sys_id       =
 $lflags       = -ldl
 $bn_ops       = SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_INT
 $cpuid_obj    = ia64cpuid.o
-$bn_obj       = bn-ia64.o
+$bn_obj       = bn-ia64.o ia64-mont.o
 $des_obj      = 
 $aes_obj      = aes_core.o aes_cbc.o aes-ia64.o
 $bf_obj       = 
@@ -3772,6 +4146,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-ia64.o
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -3790,8 +4166,8 @@ $thread_cflag = -D_REENTRANT
 $sys_id       = 
 $lflags       = -ldl
 $bn_ops       = BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL
-$cpuid_obj    = ppccpuid.o
-$bn_obj       = bn-ppc.o
+$cpuid_obj    = ppccpuid.o ppccap.o
+$bn_obj       = bn-ppc.o ppc-mont.o ppc64-mont.o
 $des_obj      = 
 $aes_obj      = aes_core.o aes_cbc.o aes-ppc.o
 $bf_obj       = 
@@ -3803,6 +4179,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = linux32
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -3821,8 +4199,8 @@ $thread_cflag = -D_REENTRANT
 $sys_id       = 
 $lflags       = -ldl
 $bn_ops       = SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL
-$cpuid_obj    = ppccpuid.o
-$bn_obj       = bn-ppc.o ppc-mont.o
+$cpuid_obj    = ppccpuid.o ppccap.o
+$bn_obj       = bn-ppc.o ppc-mont.o ppc64-mont.o
 $des_obj      = 
 $aes_obj      = aes_core.o aes_cbc.o aes-ppc.o
 $bf_obj       = 
@@ -3834,6 +4212,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = linux64
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -3844,37 +4224,6 @@ $ranlib       =
 $arflags      = 
 $multilib     = 64
 
-*** linux-s390x
-$cc           = gcc
-$cflags       = -m64 -DB_ENDIAN -DTERMIO -O3 -Wall
-$unistd       = 
-$thread_cflag = -D_REENTRANT
-$sys_id       = 
-$lflags       = -ldl
-$bn_ops       = SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL
-$cpuid_obj    = s390xcap.o s390xcpuid.o
-$bn_obj       = bn-s390x.o s390x-mont.o
-$des_obj      = 
-$aes_obj      = aes-s390x.o
-$bf_obj       = 
-$md5_obj      = 
-$sha1_obj     = sha1-s390x.o sha256-s390x.o sha512-s390x.o
-$cast_obj     = 
-$rc4_obj      = rc4-s390x.o
-$rmd160_obj   = 
-$rc5_obj      = 
-$wp_obj       = 
-$cmll_obj     = 
-$perlasm_scheme = void
-$dso_scheme   = dlfcn
-$shared_target= linux-shared
-$shared_cflag = -fPIC
-$shared_ldflag = -m64
-$shared_extension = .so.$(SHLIB_MAJOR).$(SHLIB_MINOR)
-$ranlib       = 
-$arflags      = 
-$multilib     = 64
-
 *** linux-sparcv8
 $cc           = gcc
 $cflags       = -mv8 -DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -DBN_DIV2W
@@ -3896,6 +4245,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -3927,6 +4278,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-sparcv9.o
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -3939,16 +4292,16 @@ $multilib     =
 
 *** linux-x86_64
 $cc           = gcc
-$cflags       = -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int
+$cflags       = -m64 -DL_ENDIAN -DTERMIO -O3 -Wall
 $unistd       = 
 $thread_cflag = -D_REENTRANT
 $sys_id       = 
 $lflags       = -ldl
 $bn_ops       = SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL
 $cpuid_obj    = x86_64cpuid.o
-$bn_obj       = x86_64-gcc.o x86_64-mont.o modexp512-x86_64.o
+$bn_obj       = x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o
 $des_obj      = 
-$aes_obj      = aes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
+$aes_obj      = aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
 $bf_obj       = 
 $md5_obj      = md5-x86_64.o
 $sha1_obj     = sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
@@ -3958,6 +4311,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = wp-x86_64.o
 $cmll_obj     = cmll-x86_64.o cmll_misc.o
+$modes_obj    = ghash-x86_64.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -3968,6 +4323,72 @@ $ranlib       =
 $arflags      = 
 $multilib     = 64
 
+*** linux32-s390x
+$cc           = gcc
+$cflags       = -m31 -Wa,-mzarch -DB_ENDIAN -DTERMIO -O3 -Wall
+$unistd       = 
+$thread_cflag = -D_REENTRANT
+$sys_id       = 
+$lflags       = -ldl
+$bn_ops       = BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL
+$cpuid_obj    = s390xcap.o s390xcpuid.o
+$bn_obj       = bn_asm.o s390x-mont.o s390x-gf2m.o
+$des_obj      = 
+$aes_obj      = aes-ctr.o aes-s390x.o
+$bf_obj       = 
+$md5_obj      = 
+$sha1_obj     = sha1-s390x.o sha256-s390x.o sha512-s390x.o
+$cast_obj     = 
+$rc4_obj      = rc4-s390x.o
+$rmd160_obj   = 
+$rc5_obj      = 
+$wp_obj       = 
+$cmll_obj     = 
+$modes_obj    = ghash-s390x.o
+$engines_obj  = 
+$perlasm_scheme = 31
+$dso_scheme   = dlfcn
+$shared_target= linux-shared
+$shared_cflag = -fPIC
+$shared_ldflag = -m31
+$shared_extension = .so.$(SHLIB_MAJOR).$(SHLIB_MINOR)
+$ranlib       = 
+$arflags      = 
+$multilib     = /highgprs
+
+*** linux64-s390x
+$cc           = gcc
+$cflags       = -m64 -DB_ENDIAN -DTERMIO -O3 -Wall
+$unistd       = 
+$thread_cflag = -D_REENTRANT
+$sys_id       = 
+$lflags       = -ldl
+$bn_ops       = SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL
+$cpuid_obj    = s390xcap.o s390xcpuid.o
+$bn_obj       = bn-s390x.o s390x-mont.o s390x-gf2m.o
+$des_obj      = 
+$aes_obj      = aes-ctr.o aes-s390x.o
+$bf_obj       = 
+$md5_obj      = 
+$sha1_obj     = sha1-s390x.o sha256-s390x.o sha512-s390x.o
+$cast_obj     = 
+$rc4_obj      = rc4-s390x.o
+$rmd160_obj   = 
+$rc5_obj      = 
+$wp_obj       = 
+$cmll_obj     = 
+$modes_obj    = ghash-s390x.o
+$engines_obj  = 
+$perlasm_scheme = 64
+$dso_scheme   = dlfcn
+$shared_target= linux-shared
+$shared_cflag = -fPIC
+$shared_ldflag = -m64
+$shared_extension = .so.$(SHLIB_MAJOR).$(SHLIB_MINOR)
+$ranlib       = 
+$arflags      = 
+$multilib     = 64
+
 *** linux64-sparcv9
 $cc           = gcc
 $cflags       = -m64 -mcpu=ultrasparc -DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall
@@ -3989,6 +4410,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-sparcv9.o
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= linux-shared
@@ -4008,9 +4431,9 @@ $sys_id       = MINGW32
 $lflags       = -lws2_32 -lgdi32 -lcrypt32
 $bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT EXPORT_VAR_AS_FN
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -4020,6 +4443,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = coff
 $dso_scheme   = win32
 $shared_target= cygwin-shared
@@ -4039,9 +4464,9 @@ $sys_id       = MINGW64
 $lflags       = -lws2_32 -lgdi32 -lcrypt32
 $bn_ops       = SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN
 $cpuid_obj    = x86_64cpuid.o
-$bn_obj       = x86_64-gcc.o x86_64-mont.o modexp512-x86_64.o
+$bn_obj       = x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o
 $des_obj      = 
-$aes_obj      = aes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
+$aes_obj      = aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
 $bf_obj       = 
 $md5_obj      = md5-x86_64.o
 $sha1_obj     = sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
@@ -4051,6 +4476,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = wp-x86_64.o
 $cmll_obj     = cmll-x86_64.o cmll_misc.o
+$modes_obj    = ghash-x86_64.o
+$engines_obj  = 
 $perlasm_scheme = mingw64
 $dso_scheme   = win32
 $shared_target= cygwin-shared
@@ -4082,6 +4509,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -4113,6 +4542,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -4144,6 +4575,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -4175,6 +4608,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -4206,6 +4641,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -4237,6 +4674,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -4268,6 +4707,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -4299,6 +4740,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -4330,6 +4773,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -4361,6 +4806,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -4392,6 +4839,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -4423,6 +4872,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -4447,13 +4898,15 @@ $des_obj      =
 $aes_obj      = 
 $bf_obj       = 
 $md5_obj      = 
-$sha1_obj     = 
+$sha1_obj     = sha1-alpha.o
 $cast_obj     = 
 $rc4_obj      = 
 $rmd160_obj   = 
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-alpha.o
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= alpha-osf1-shared
@@ -4478,13 +4931,15 @@ $des_obj      =
 $aes_obj      = 
 $bf_obj       = 
 $md5_obj      = 
-$sha1_obj     = 
+$sha1_obj     = sha1-alpha.o
 $cast_obj     = 
 $rc4_obj      = 
 $rmd160_obj   = 
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-alpha.o
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= alpha-osf1-shared
@@ -4516,6 +4971,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -4547,6 +5004,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -4578,6 +5037,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = 
 $shared_target= 
@@ -4597,9 +5058,9 @@ $sys_id       =
 $lflags       = -lsocket -lnsl
 $bn_ops       = DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -4609,6 +5070,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= svr3-shared
@@ -4628,9 +5091,9 @@ $sys_id       =
 $lflags       = -lsocket -lnsl
 $bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -4640,6 +5103,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= svr3-shared
@@ -4671,6 +5136,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= solaris-shared
@@ -4702,6 +5169,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= solaris-shared
@@ -4733,6 +5202,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= solaris-shared
@@ -4764,6 +5235,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= solaris-shared
@@ -4795,6 +5268,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-sparcv9.o
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= solaris-shared
@@ -4826,6 +5301,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-sparcv9.o
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= solaris-shared
@@ -4857,6 +5334,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= solaris-shared
@@ -4876,9 +5355,9 @@ $sys_id       =
 $lflags       = -lsocket -lnsl -ldl
 $bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -4888,6 +5367,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= solaris-shared
@@ -4919,6 +5400,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-sparcv9.o
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= solaris-shared
@@ -4950,6 +5433,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-sparcv9.o
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= solaris-shared
@@ -4969,9 +5454,9 @@ $sys_id       =
 $lflags       = -lsocket -lnsl -ldl
 $bn_ops       = SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL
 $cpuid_obj    = x86_64cpuid.o
-$bn_obj       = x86_64-gcc.o x86_64-mont.o modexp512-x86_64.o
+$bn_obj       = x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o
 $des_obj      = 
-$aes_obj      = aes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
+$aes_obj      = aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
 $bf_obj       = 
 $md5_obj      = md5-x86_64.o
 $sha1_obj     = sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
@@ -4981,6 +5466,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = wp-x86_64.o
 $cmll_obj     = cmll-x86_64.o cmll_misc.o
+$modes_obj    = ghash-x86_64.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= solaris-shared
@@ -4993,16 +5480,16 @@ $multilib     = /64
 
 *** solaris64-x86_64-gcc
 $cc           = gcc
-$cflags       = -m64 -O3 -Wall -DL_ENDIAN -DMD32_REG_T=int
+$cflags       = -m64 -O3 -Wall -DL_ENDIAN
 $unistd       = 
 $thread_cflag = -D_REENTRANT
 $sys_id       = 
 $lflags       = -lsocket -lnsl -ldl
 $bn_ops       = SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL
 $cpuid_obj    = x86_64cpuid.o
-$bn_obj       = x86_64-gcc.o x86_64-mont.o modexp512-x86_64.o
+$bn_obj       = x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o
 $des_obj      = 
-$aes_obj      = aes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
+$aes_obj      = aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
 $bf_obj       = 
 $md5_obj      = md5-x86_64.o
 $sha1_obj     = sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
@@ -5012,6 +5499,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = wp-x86_64.o
 $cmll_obj     = cmll-x86_64.o cmll_misc.o
+$modes_obj    = ghash-x86_64.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= solaris-shared
@@ -5043,6 +5532,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = 
 $shared_target= 
@@ -5074,6 +5565,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -5098,13 +5591,15 @@ $des_obj      =
 $aes_obj      = 
 $bf_obj       = 
 $md5_obj      = 
-$sha1_obj     = 
+$sha1_obj     = sha1-alpha.o
 $cast_obj     = 
 $rc4_obj      = 
 $rmd160_obj   = 
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = ghash-alpha.o
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = dlfcn
 $shared_target= alpha-osf1-shared
@@ -5136,7 +5631,9 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
-$perlasm_scheme = 
+$modes_obj    = 
+$engines_obj  = 
+$perlasm_scheme = void
 $dso_scheme   = 
 $shared_target= linux-shared
 $shared_cflag = -fPIC
@@ -5167,7 +5664,9 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
-$perlasm_scheme = 
+$modes_obj    = 
+$engines_obj  = 
+$perlasm_scheme = void
 $dso_scheme   = 
 $shared_target= linux-shared
 $shared_cflag = -fPIC
@@ -5198,6 +5697,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -5229,6 +5730,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -5260,6 +5763,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -5291,6 +5796,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -5310,9 +5817,9 @@ $sys_id       =
 $lflags       = -lsocket -lnsl
 $bn_ops       = BN_LLONG MD2_CHAR RC4_INDEX DES_PTR DES_RISC1 DES_UNROLL
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -5322,6 +5829,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= svr5-shared
@@ -5341,9 +5850,9 @@ $sys_id       =
 $lflags       = -lsocket -lnsl
 $bn_ops       = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
 $cpuid_obj    = x86cpuid.o
-$bn_obj       = bn-586.o co-586.o x86-mont.o
+$bn_obj       = bn-586.o co-586.o x86-mont.o x86-gf2m.o
 $des_obj      = des-586.o crypt586.o
-$aes_obj      = aes-586.o aesni-x86.o
+$aes_obj      = aes-586.o vpaes-x86.o aesni-x86.o
 $bf_obj       = bf-586.o
 $md5_obj      = md5-586.o
 $sha1_obj     = sha1-586.o sha256-586.o sha512-586.o
@@ -5353,6 +5862,8 @@ $rmd160_obj   = rmd-586.o
 $rc5_obj      = rc5-586.o
 $wp_obj       = wp_block.o wp-mmx.o
 $cmll_obj     = cmll-x86.o
+$modes_obj    = ghash-x86.o
+$engines_obj  = 
 $perlasm_scheme = elf
 $dso_scheme   = dlfcn
 $shared_target= gnu-shared
@@ -5384,6 +5895,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = void
 $dso_scheme   = 
 $shared_target= 
@@ -5394,9 +5907,42 @@ $ranlib       =
 $arflags      = 
 $multilib     = 
 
-*** vxworks-mipsle
+*** vxworks-mips
 $cc           = ccmips
-$cflags       = -B$(WIND_BASE)/host/$(WIND_HOST_TYPE)/lib/gcc-lib/ -DL_ENDIAN -EL -Wl,-EL -mips2 -mno-branch-likely -G 0 -fno-builtin -msoft-float -DCPU=MIPS32 -DMIPSEL -DNO_STRINGS_H -I$(WIND_BASE)/target/h
+$cflags       = -mrtp -mips2 -O -G 0 -B$(WIND_BASE)/host/$(WIND_HOST_TYPE)/lib/gcc-lib/ -D_VSB_CONFIG_FILE="$(WIND_BASE)/target/lib/h/config/vsbConfig.h" -DCPU=MIPS32 -msoft-float -mno-branch-likely -DTOOL_FAMILY=gnu -DTOOL=gnu -fno-builtin -fno-defer-pop -DNO_STRINGS_H -I$(WIND_BASE)/target/usr/h -I$(WIND_BASE)/target/h/wrn/coreip
+$unistd       = 
+$thread_cflag = -D_REENTRANT
+$sys_id       = VXWORKS
+$lflags       = -Wl,--defsym,__wrs_rtp_base=0xe0000000 -L $(WIND_BASE)/target/usr/lib/mips/MIPSI32/sfcommon
+$bn_ops       = 
+$cpuid_obj    = 
+$bn_obj       = bn-mips.o
+$des_obj      = 
+$aes_obj      = aes_cbc.o aes-mips.o
+$bf_obj       = 
+$md5_obj      = 
+$sha1_obj     = sha1-mips.o sha256-mips.o
+$cast_obj     = 
+$rc4_obj      = 
+$rmd160_obj   = 
+$rc5_obj      = 
+$wp_obj       = 
+$cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
+$perlasm_scheme = o32
+$dso_scheme   = 
+$shared_target= 
+$shared_cflag = 
+$shared_ldflag = 
+$shared_extension = 
+$ranlib       = ranlibmips
+$arflags      = 
+$multilib     = 
+
+*** vxworks-ppc405
+$cc           = ccppc
+$cflags       = -g -msoft-float -mlongcall -DCPU=PPC405 -I$(WIND_BASE)/target/h
 $unistd       = 
 $thread_cflag = 
 $sys_id       = VXWORKS
@@ -5415,23 +5961,25 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
-$perlasm_scheme = void
+$modes_obj    = 
+$engines_obj  = 
+$perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
 $shared_cflag = 
 $shared_ldflag = 
 $shared_extension = 
-$ranlib       = ranlibmips
+$ranlib       = 
 $arflags      = 
 $multilib     = 
 
-*** vxworks-ppc405
+*** vxworks-ppc60x
 $cc           = ccppc
-$cflags       = -g -msoft-float -mlongcall -DCPU=PPC405 -I$(WIND_BASE)/target/h
+$cflags       = -D_REENTRANT -mrtp -mhard-float -mstrict-align -fno-implicit-fp -DPPC32_fp60x -O2 -fstrength-reduce -fno-builtin -fno-strict-aliasing -Wall -DCPU=PPC32 -DTOOL_FAMILY=gnu -DTOOL=gnu -I$(WIND_BASE)/target/usr/h -I$(WIND_BASE)/target/usr/h/wrn/coreip
 $unistd       = 
 $thread_cflag = 
 $sys_id       = VXWORKS
-$lflags       = -r
+$lflags       = -Wl,--defsym,__wrs_rtp_base=0xe0000000 -L $(WIND_BASE)/target/usr/lib/ppc/PPC32/common
 $bn_ops       = 
 $cpuid_obj    = 
 $bn_obj       = 
@@ -5446,6 +5994,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -5477,6 +6027,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -5508,6 +6060,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -5539,6 +6093,8 @@ $rmd160_obj   =
 $rc5_obj      = 
 $wp_obj       = 
 $cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
 $perlasm_scheme = 
 $dso_scheme   = 
 $shared_target= 
@@ -5548,3 +6104,69 @@ $shared_extension =
 $ranlib       = 
 $arflags      = 
 $multilib     = 
+
+*** vxworks-ppcgen
+$cc           = ccppc
+$cflags       = -D_REENTRANT -mrtp -msoft-float -mstrict-align -O1 -fno-builtin -fno-strict-aliasing -Wall -DCPU=PPC32 -DTOOL_FAMILY=gnu -DTOOL=gnu -I$(WIND_BASE)/target/usr/h -I$(WIND_BASE)/target/usr/h/wrn/coreip
+$unistd       = 
+$thread_cflag = 
+$sys_id       = VXWORKS
+$lflags       = -Wl,--defsym,__wrs_rtp_base=0xe0000000 -L $(WIND_BASE)/target/usr/lib/ppc/PPC32/sfcommon
+$bn_ops       = 
+$cpuid_obj    = 
+$bn_obj       = 
+$des_obj      = 
+$aes_obj      = 
+$bf_obj       = 
+$md5_obj      = 
+$sha1_obj     = 
+$cast_obj     = 
+$rc4_obj      = 
+$rmd160_obj   = 
+$rc5_obj      = 
+$wp_obj       = 
+$cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
+$perlasm_scheme = 
+$dso_scheme   = 
+$shared_target= 
+$shared_cflag = 
+$shared_ldflag = 
+$shared_extension = 
+$ranlib       = 
+$arflags      = 
+$multilib     = 
+
+*** vxworks-simlinux
+$cc           = ccpentium
+$cflags       = -B$(WIND_BASE)/host/$(WIND_HOST_TYPE)/lib/gcc-lib/ -D_VSB_CONFIG_FILE="$(WIND_BASE)/target/lib/h/config/vsbConfig.h" -DL_ENDIAN -DCPU=SIMLINUX -DTOOL_FAMILY=gnu -DTOOL=gnu -fno-builtin -fno-defer-pop -DNO_STRINGS_H -I$(WIND_BASE)/target/h -I$(WIND_BASE)/target/h/wrn/coreip -DOPENSSL_NO_HW_PADLOCK
+$unistd       = 
+$thread_cflag = 
+$sys_id       = VXWORKS
+$lflags       = -r
+$bn_ops       = 
+$cpuid_obj    = 
+$bn_obj       = 
+$des_obj      = 
+$aes_obj      = 
+$bf_obj       = 
+$md5_obj      = 
+$sha1_obj     = 
+$cast_obj     = 
+$rc4_obj      = 
+$rmd160_obj   = 
+$rc5_obj      = 
+$wp_obj       = 
+$cmll_obj     = 
+$modes_obj    = 
+$engines_obj  = 
+$perlasm_scheme = void
+$dso_scheme   = 
+$shared_target= 
+$shared_cflag = 
+$shared_ldflag = 
+$shared_extension = 
+$ranlib       = ranlibpentium
+$arflags      = 
+$multilib     = 
index 495f1ea..ff8b19c 100755 (executable)
@@ -1,9 +1,19 @@
-
 perl util\mkfiles.pl >MINFO
-perl ms\uplink.pl win64a > ms\uptable.asm
+
+cmd /c "nasm -f win64 -v" >NUL: 2>&1
+if %errorlevel% neq 0 goto ml64
+
+perl ms\uplink-x86_64.pl nasm > ms\uptable.asm
+nasm -f win64 -o ms\uptable.obj ms\uptable.asm
+goto proceed
+
+:ml64
+perl ms\uplink-x86_64.pl masm > ms\uptable.asm
 ml64 -c -Foms\uptable.obj ms\uptable.asm
-perl util\mk1mf.pl no-asm VC-WIN64A >ms\nt.mak
-perl util\mk1mf.pl dll no-asm VC-WIN64A >ms\ntdll.mak
+
+:proceed
+perl util\mk1mf.pl VC-WIN64A >ms\nt.mak
+perl util\mk1mf.pl dll VC-WIN64A >ms\ntdll.mak
 
 perl util\mkdef.pl 32 libeay > ms\libeay32.def
 perl util\mkdef.pl 32 ssleay > ms\ssleay32.def
index 15ebcaa..088f5e1 100755 (executable)
@@ -1,9 +1,9 @@
 
 perl util\mkfiles.pl >MINFO
-perl ms\uplink.pl win64i > ms\uptable.asm
+perl ms\uplink-ia64.pl > ms\uptable.asm
 ias -o ms\uptable.obj ms\uptable.asm
-perl util\mk1mf.pl no-asm VC-WIN64I >ms\nt.mak
-perl util\mk1mf.pl dll no-asm VC-WIN64I >ms\ntdll.mak
+perl util\mk1mf.pl VC-WIN64I >ms\nt.mak
+perl util\mk1mf.pl dll VC-WIN64I >ms\ntdll.mak
 
 perl util\mkdef.pl 32 libeay > ms\libeay32.def
 perl util\mkdef.pl 32 ssleay > ms\ssleay32.def