Enable optimized crypto operations for x86_64
This adds initial support for assembly crypto acceleration on x86_64 for ELF (Linux, *BSD, Solaris) and Mach-O (OS-X) systems. The build method is a little different than OpenSSL and OpenBSD. All the .s files are generated ahead of time when the tarball is generated, so there are no complicated makefile rules at configure/build time. This also means the builds are faster and perl is not required on the build system. Thanks to Wouter Clarie for providing the initial cleanup and patch that this is based on.
This commit is contained in:
parent
e57d5d8be3
commit
03cd45e2c7
4
.gitignore
vendored
4
.gitignore
vendored
@ -9,6 +9,10 @@
|
|||||||
# C stuff
|
# C stuff
|
||||||
*.o
|
*.o
|
||||||
|
|
||||||
|
# Assembly stuff
|
||||||
|
*.S
|
||||||
|
*.s
|
||||||
|
|
||||||
# Windows stuff
|
# Windows stuff
|
||||||
*.obj
|
*.obj
|
||||||
*.exe
|
*.exe
|
||||||
|
45
configure.ac
45
configure.ac
@ -14,22 +14,21 @@ CFLAGS="$CFLAGS -Wall -std=gnu99 -g"
|
|||||||
|
|
||||||
case $host_os in
|
case $host_os in
|
||||||
*darwin*)
|
*darwin*)
|
||||||
HOST_OS=darwin;
|
HOST_OS=darwin
|
||||||
|
HOST_ABI=macosx
|
||||||
;;
|
;;
|
||||||
*freebsd*)
|
*freebsd*)
|
||||||
HOST_OS=freebsd;
|
HOST_OS=freebsd
|
||||||
|
HOST_ABI=elf
|
||||||
AC_SUBST([PROG_LDADD], ['-lthr'])
|
AC_SUBST([PROG_LDADD], ['-lthr'])
|
||||||
;;
|
;;
|
||||||
*linux*)
|
*linux*)
|
||||||
HOST_OS=linux;
|
HOST_OS=linux
|
||||||
|
HOST_ABI=elf
|
||||||
CFLAGS="$CFLAGS -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_SOURCE -D_GNU_SOURCE"
|
CFLAGS="$CFLAGS -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_SOURCE -D_GNU_SOURCE"
|
||||||
;;
|
;;
|
||||||
*solaris*)
|
|
||||||
HOST_OS=solaris;
|
|
||||||
CFLAGS="$CFLAGS -D__EXTENSIONS__ -D_XOPEN_SOURCE=600 -DBSD_COMP"
|
|
||||||
AC_SUBST([PLATFORM_LDADD], ['-lnsl -lsocket'])
|
|
||||||
;;
|
|
||||||
*openbsd*)
|
*openbsd*)
|
||||||
|
HOST_ABI=elf
|
||||||
AC_DEFINE([HAVE_ATTRIBUTE__BOUNDED__], [1], [OpenBSD gcc has bounded])
|
AC_DEFINE([HAVE_ATTRIBUTE__BOUNDED__], [1], [OpenBSD gcc has bounded])
|
||||||
;;
|
;;
|
||||||
*mingw*)
|
*mingw*)
|
||||||
@ -37,14 +36,20 @@ case $host_os in
|
|||||||
CFLAGS="$CFLAGS -D_GNU_SOURCE -D_POSIX -D_POSIX_SOURCE -D_REENTRANT -D_POSIX_THREAD_SAFE_FUNCTIONS -DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0600 -DOPENSSL_NO_SPEED -D__USE_MINGW_ANSI_STDIO"
|
CFLAGS="$CFLAGS -D_GNU_SOURCE -D_POSIX -D_POSIX_SOURCE -D_REENTRANT -D_POSIX_THREAD_SAFE_FUNCTIONS -DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0600 -DOPENSSL_NO_SPEED -D__USE_MINGW_ANSI_STDIO"
|
||||||
AC_SUBST([PLATFORM_LDADD], ['-lws2_32'])
|
AC_SUBST([PLATFORM_LDADD], ['-lws2_32'])
|
||||||
;;
|
;;
|
||||||
|
*solaris*)
|
||||||
|
HOST_OS=solaris
|
||||||
|
HOST_ABI=elf
|
||||||
|
CFLAGS="$CFLAGS -D__EXTENSIONS__ -D_XOPEN_SOURCE=600 -DBSD_COMP"
|
||||||
|
AC_SUBST([PLATFORM_LDADD], ['-lnsl -lsocket'])
|
||||||
|
;;
|
||||||
*) ;;
|
*) ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
AM_CONDITIONAL(HOST_DARWIN, test x$HOST_OS = xdarwin)
|
AM_CONDITIONAL([HOST_DARWIN], [test x$HOST_OS = xdarwin])
|
||||||
AM_CONDITIONAL(HOST_FREEBSD, test x$HOST_OS = xfreebsd)
|
AM_CONDITIONAL([HOST_FREEBSD], [test x$HOST_OS = xfreebsd])
|
||||||
AM_CONDITIONAL(HOST_LINUX, test x$HOST_OS = xlinux)
|
AM_CONDITIONAL([HOST_LINUX], [test x$HOST_OS = xlinux])
|
||||||
AM_CONDITIONAL(HOST_SOLARIS, test x$HOST_OS = xsolaris)
|
AM_CONDITIONAL([HOST_SOLARIS], [test x$HOST_OS = xsolaris])
|
||||||
AM_CONDITIONAL(HOST_WIN, test x$HOST_OS = xwin)
|
AM_CONDITIONAL([HOST_WIN], [test x$HOST_OS = xwin])
|
||||||
|
|
||||||
AC_CHECK_FUNC([clock_gettime],,
|
AC_CHECK_FUNC([clock_gettime],,
|
||||||
[AC_SEARCH_LIBS([clock_gettime],[rt posix4])])
|
[AC_SEARCH_LIBS([clock_gettime],[rt posix4])])
|
||||||
@ -52,6 +57,7 @@ AC_CHECK_FUNC([clock_gettime],,
|
|||||||
AC_CHECK_FUNC([dl_iterate_phdr],,
|
AC_CHECK_FUNC([dl_iterate_phdr],,
|
||||||
[AC_SEARCH_LIBS([dl_iterate_phdr],[dl])])
|
[AC_SEARCH_LIBS([dl_iterate_phdr],[dl])])
|
||||||
|
|
||||||
|
AM_PROG_AS
|
||||||
AC_PROG_CC
|
AC_PROG_CC
|
||||||
AC_PROG_LIBTOOL
|
AC_PROG_LIBTOOL
|
||||||
AC_PROG_CC_STDC
|
AC_PROG_CC_STDC
|
||||||
@ -134,18 +140,25 @@ fi
|
|||||||
AC_CHECK_HEADERS([sys/sysctl.h err.h])
|
AC_CHECK_HEADERS([sys/sysctl.h err.h])
|
||||||
|
|
||||||
AC_ARG_WITH([openssldir],
|
AC_ARG_WITH([openssldir],
|
||||||
AS_HELP_STRING([--with-openssldir], [Set the default openssl directory]),
|
AS_HELP_STRING([--with-openssldir],
|
||||||
|
[Set the default openssl directory]),
|
||||||
AC_DEFINE_UNQUOTED(OPENSSLDIR, "$withval")
|
AC_DEFINE_UNQUOTED(OPENSSLDIR, "$withval")
|
||||||
)
|
)
|
||||||
|
|
||||||
AC_ARG_WITH([enginesdir],
|
AC_ARG_WITH([enginesdir],
|
||||||
AS_HELP_STRING([--with-enginesdir], [Set the default engines directory (use with openssldir)]),
|
AS_HELP_STRING([--with-enginesdir],
|
||||||
|
[Set the default engines directory (use with openssldir)]),
|
||||||
AC_DEFINE_UNQUOTED(ENGINESDIR, "$withval")
|
AC_DEFINE_UNQUOTED(ENGINESDIR, "$withval")
|
||||||
)
|
)
|
||||||
|
|
||||||
AC_ARG_ENABLE([asm],
|
AC_ARG_ENABLE([asm],
|
||||||
AS_HELP_STRING([--disable-asm], [Disable assembly]))
|
AS_HELP_STRING([--disable-asm], [Disable assembly]))
|
||||||
AS_IF([test "x$enable_asm" = "xno"], [CFLAGS="$CFLAGS -DOPENSSL_NO_ASM"])
|
AM_CONDITIONAL([OPENSSL_NO_ASM], [test "x$enable_asm" = "xno"])
|
||||||
|
|
||||||
|
AM_CONDITIONAL([HOST_ASM_ELF_X86_64],
|
||||||
|
[test "x$HOST_ABI" = "xelf" -a "$host_cpu" = "x86_64" -a "x$enable_asm" != "xno"])
|
||||||
|
AM_CONDITIONAL([HOST_ASM_MACOSX_X86_64],
|
||||||
|
[test "x$HOST_ABI" = "xmacosx" -a "$host_cpu" = "x86_64" -a "x$enable_asm" != "xno"])
|
||||||
|
|
||||||
AC_ARG_ENABLE([libtls],
|
AC_ARG_ENABLE([libtls],
|
||||||
AS_HELP_STRING([--enable-libtls], [Enable building the libtls library]))
|
AS_HELP_STRING([--enable-libtls], [Enable building the libtls library]))
|
||||||
|
@ -10,7 +10,11 @@ EXTRA_DIST = VERSION
|
|||||||
|
|
||||||
libcrypto_la_LDFLAGS = -version-info @LIBCRYPTO_VERSION@
|
libcrypto_la_LDFLAGS = -version-info @LIBCRYPTO_VERSION@
|
||||||
libcrypto_la_LIBADD = libcompat.la libcompatnoopt.la
|
libcrypto_la_LIBADD = libcompat.la libcompatnoopt.la
|
||||||
libcrypto_la_CFLAGS = $(CFLAGS) $(USER_CFLAGS) -DOPENSSL_NO_HW_PADLOCK
|
libcrypto_la_CFLAGS = $(CFLAGS) $(USER_CFLAGS)
|
||||||
|
libcrypto_la_CFLAGS += -DOPENSSL_NO_HW_PADLOCK
|
||||||
|
if OPENSSL_NO_ASM
|
||||||
|
libcrypto_la_CFLAGS += -DOPENSSL_NO_ASM
|
||||||
|
endif
|
||||||
|
|
||||||
noinst_LTLIBRARIES = libcompat.la libcompatnoopt.la
|
noinst_LTLIBRARIES = libcompat.la libcompatnoopt.la
|
||||||
|
|
||||||
@ -103,6 +107,21 @@ noinst_HEADERS += compat/chacha_private.h
|
|||||||
libcrypto_la_SOURCES =
|
libcrypto_la_SOURCES =
|
||||||
EXTRA_libcrypto_la_SOURCES =
|
EXTRA_libcrypto_la_SOURCES =
|
||||||
|
|
||||||
|
include Makefile.am.elf-x86_64
|
||||||
|
include Makefile.am.macosx-x86_64
|
||||||
|
|
||||||
|
if !HOST_ASM_ELF_X86_64
|
||||||
|
if !HOST_ASM_MACOSX_X86_64
|
||||||
|
libcrypto_la_SOURCES += aes/aes_cbc.c
|
||||||
|
libcrypto_la_SOURCES += aes/aes_core.c
|
||||||
|
libcrypto_la_SOURCES += camellia/camellia.c
|
||||||
|
libcrypto_la_SOURCES += camellia/cmll_cbc.c
|
||||||
|
libcrypto_la_SOURCES += rc4/rc4_enc.c
|
||||||
|
libcrypto_la_SOURCES += rc4/rc4_skey.c
|
||||||
|
libcrypto_la_SOURCES += whrlpool/wp_block.c
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
libcrypto_la_SOURCES += cpt_err.c
|
libcrypto_la_SOURCES += cpt_err.c
|
||||||
libcrypto_la_SOURCES += cryptlib.c
|
libcrypto_la_SOURCES += cryptlib.c
|
||||||
libcrypto_la_SOURCES += cversion.c
|
libcrypto_la_SOURCES += cversion.c
|
||||||
@ -118,9 +137,7 @@ noinst_HEADERS += md32_common.h
|
|||||||
noinst_HEADERS += o_time.h
|
noinst_HEADERS += o_time.h
|
||||||
|
|
||||||
# aes
|
# aes
|
||||||
libcrypto_la_SOURCES += aes/aes_cbc.c
|
|
||||||
libcrypto_la_SOURCES += aes/aes_cfb.c
|
libcrypto_la_SOURCES += aes/aes_cfb.c
|
||||||
libcrypto_la_SOURCES += aes/aes_core.c
|
|
||||||
libcrypto_la_SOURCES += aes/aes_ctr.c
|
libcrypto_la_SOURCES += aes/aes_ctr.c
|
||||||
libcrypto_la_SOURCES += aes/aes_ecb.c
|
libcrypto_la_SOURCES += aes/aes_ecb.c
|
||||||
libcrypto_la_SOURCES += aes/aes_ige.c
|
libcrypto_la_SOURCES += aes/aes_ige.c
|
||||||
@ -284,8 +301,6 @@ libcrypto_la_SOURCES += buffer/buf_str.c
|
|||||||
libcrypto_la_SOURCES += buffer/buffer.c
|
libcrypto_la_SOURCES += buffer/buffer.c
|
||||||
|
|
||||||
# camellia
|
# camellia
|
||||||
libcrypto_la_SOURCES += camellia/camellia.c
|
|
||||||
libcrypto_la_SOURCES += camellia/cmll_cbc.c
|
|
||||||
libcrypto_la_SOURCES += camellia/cmll_cfb.c
|
libcrypto_la_SOURCES += camellia/cmll_cfb.c
|
||||||
libcrypto_la_SOURCES += camellia/cmll_ctr.c
|
libcrypto_la_SOURCES += camellia/cmll_ctr.c
|
||||||
libcrypto_la_SOURCES += camellia/cmll_ecb.c
|
libcrypto_la_SOURCES += camellia/cmll_ecb.c
|
||||||
@ -666,8 +681,6 @@ libcrypto_la_SOURCES += rc2/rc2ofb64.c
|
|||||||
noinst_HEADERS += rc2/rc2_locl.h
|
noinst_HEADERS += rc2/rc2_locl.h
|
||||||
|
|
||||||
# rc4
|
# rc4
|
||||||
libcrypto_la_SOURCES += rc4/rc4_enc.c
|
|
||||||
libcrypto_la_SOURCES += rc4/rc4_skey.c
|
|
||||||
noinst_HEADERS += rc4/rc4_locl.h
|
noinst_HEADERS += rc4/rc4_locl.h
|
||||||
|
|
||||||
# ripemd
|
# ripemd
|
||||||
@ -739,7 +752,6 @@ libcrypto_la_SOURCES += ui/ui_util.c
|
|||||||
noinst_HEADERS += ui/ui_locl.h
|
noinst_HEADERS += ui/ui_locl.h
|
||||||
|
|
||||||
# whrlpool
|
# whrlpool
|
||||||
libcrypto_la_SOURCES += whrlpool/wp_block.c
|
|
||||||
libcrypto_la_SOURCES += whrlpool/wp_dgst.c
|
libcrypto_la_SOURCES += whrlpool/wp_dgst.c
|
||||||
noinst_HEADERS += whrlpool/wp_locl.h
|
noinst_HEADERS += whrlpool/wp_locl.h
|
||||||
|
|
||||||
|
41
crypto/Makefile.am.elf-x86_64
Normal file
41
crypto/Makefile.am.elf-x86_64
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
|
||||||
|
ASM_X86_64_ELF = aes/aes-elf-x86_64.s
|
||||||
|
ASM_X86_64_ELF += aes/bsaes-elf-x86_64.s
|
||||||
|
ASM_X86_64_ELF += aes/vpaes-elf-x86_64.s
|
||||||
|
ASM_X86_64_ELF += aes/aesni-elf-x86_64.s
|
||||||
|
ASM_X86_64_ELF += aes/aesni-sha1-elf-x86_64.s
|
||||||
|
ASM_X86_64_ELF += bn/modexp512-elf-x86_64.s
|
||||||
|
ASM_X86_64_ELF += bn/mont-elf-x86_64.s
|
||||||
|
ASM_X86_64_ELF += bn/mont5-elf-x86_64.s
|
||||||
|
ASM_X86_64_ELF += bn/gf2m-elf-x86_64.s
|
||||||
|
ASM_X86_64_ELF += camellia/cmll-elf-x86_64.s
|
||||||
|
ASM_X86_64_ELF += md5/md5-elf-x86_64.s
|
||||||
|
ASM_X86_64_ELF += modes/ghash-elf-x86_64.s
|
||||||
|
ASM_X86_64_ELF += rc4/rc4-elf-x86_64.s
|
||||||
|
ASM_X86_64_ELF += rc4/rc4-md5-elf-x86_64.s
|
||||||
|
ASM_X86_64_ELF += sha/sha1-elf-x86_64.s
|
||||||
|
ASM_X86_64_ELF += sha/sha256-elf-x86_64.S
|
||||||
|
ASM_X86_64_ELF += sha/sha512-elf-x86_64.S
|
||||||
|
ASM_X86_64_ELF += whrlpool/wp-elf-x86_64.s
|
||||||
|
ASM_X86_64_ELF += cpuid-elf-x86_64.S
|
||||||
|
|
||||||
|
EXTRA_DIST += $(ASM_X86_64_ELF)
|
||||||
|
|
||||||
|
if HOST_ASM_ELF_X86_64
|
||||||
|
libcrypto_la_CFLAGS += -DAES_ASM
|
||||||
|
libcrypto_la_CFLAGS += -DBSAES_ASM
|
||||||
|
libcrypto_la_CFLAGS += -DVPAES_ASM
|
||||||
|
libcrypto_la_CFLAGS += -DOPENSSL_IA32_SSE2
|
||||||
|
libcrypto_la_CFLAGS += -DOPENSSL_BN_ASM_MONT
|
||||||
|
libcrypto_la_CFLAGS += -DOPENSSL_BN_ASM_MONT5
|
||||||
|
libcrypto_la_CFLAGS += -DOPENSSL_BN_ASM_GF2m
|
||||||
|
libcrypto_la_CFLAGS += -DMD5_ASM
|
||||||
|
libcrypto_la_CFLAGS += -DGHASH_ASM
|
||||||
|
libcrypto_la_CFLAGS += -DRSA_ASM
|
||||||
|
libcrypto_la_CFLAGS += -DSHA1_ASM
|
||||||
|
libcrypto_la_CFLAGS += -DSHA256_ASM
|
||||||
|
libcrypto_la_CFLAGS += -DSHA512_ASM
|
||||||
|
libcrypto_la_CFLAGS += -DWHIRLPOOL_ASM
|
||||||
|
libcrypto_la_CFLAGS += -DOPENSSL_CPUID_OBJ
|
||||||
|
libcrypto_la_SOURCES += $(ASM_X86_64_ELF)
|
||||||
|
endif
|
41
crypto/Makefile.am.macosx-x86_64
Normal file
41
crypto/Makefile.am.macosx-x86_64
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
|
||||||
|
ASM_X86_64_MACOSX = aes/aes-macosx-x86_64.s
|
||||||
|
ASM_X86_64_MACOSX += aes/bsaes-macosx-x86_64.s
|
||||||
|
ASM_X86_64_MACOSX += aes/vpaes-macosx-x86_64.s
|
||||||
|
ASM_X86_64_MACOSX += aes/aesni-macosx-x86_64.s
|
||||||
|
ASM_X86_64_MACOSX += aes/aesni-sha1-macosx-x86_64.s
|
||||||
|
ASM_X86_64_MACOSX += bn/modexp512-macosx-x86_64.s
|
||||||
|
ASM_X86_64_MACOSX += bn/mont-macosx-x86_64.s
|
||||||
|
ASM_X86_64_MACOSX += bn/mont5-macosx-x86_64.s
|
||||||
|
ASM_X86_64_MACOSX += bn/gf2m-macosx-x86_64.s
|
||||||
|
ASM_X86_64_MACOSX += camellia/cmll-macosx-x86_64.s
|
||||||
|
ASM_X86_64_MACOSX += md5/md5-macosx-x86_64.s
|
||||||
|
ASM_X86_64_MACOSX += modes/ghash-macosx-x86_64.s
|
||||||
|
ASM_X86_64_MACOSX += rc4/rc4-macosx-x86_64.s
|
||||||
|
ASM_X86_64_MACOSX += rc4/rc4-md5-macosx-x86_64.s
|
||||||
|
ASM_X86_64_MACOSX += sha/sha1-macosx-x86_64.s
|
||||||
|
ASM_X86_64_MACOSX += sha/sha256-macosx-x86_64.S
|
||||||
|
ASM_X86_64_MACOSX += sha/sha512-macosx-x86_64.S
|
||||||
|
ASM_X86_64_MACOSX += whrlpool/wp-macosx-x86_64.s
|
||||||
|
ASM_X86_64_MACOSX += cpuid-macosx-x86_64.S
|
||||||
|
|
||||||
|
EXTRA_DIST += $(ASM_X86_64_MACOSX)
|
||||||
|
|
||||||
|
if HOST_ASM_MACOSX_X86_64
|
||||||
|
libcrypto_la_CFLAGS += -DAES_ASM
|
||||||
|
libcrypto_la_CFLAGS += -DBSAES_ASM
|
||||||
|
libcrypto_la_CFLAGS += -DVPAES_ASM
|
||||||
|
libcrypto_la_CFLAGS += -DOPENSSL_IA32_SSE2
|
||||||
|
libcrypto_la_CFLAGS += -DOPENSSL_BN_ASM_MONT
|
||||||
|
libcrypto_la_CFLAGS += -DOPENSSL_BN_ASM_MONT5
|
||||||
|
libcrypto_la_CFLAGS += -DOPENSSL_BN_ASM_GF2m
|
||||||
|
libcrypto_la_CFLAGS += -DMD5_ASM
|
||||||
|
libcrypto_la_CFLAGS += -DGHASH_ASM
|
||||||
|
libcrypto_la_CFLAGS += -DRSA_ASM
|
||||||
|
libcrypto_la_CFLAGS += -DSHA1_ASM
|
||||||
|
libcrypto_la_CFLAGS += -DSHA256_ASM
|
||||||
|
libcrypto_la_CFLAGS += -DSHA512_ASM
|
||||||
|
libcrypto_la_CFLAGS += -DWHIRLPOOL_ASM
|
||||||
|
libcrypto_la_CFLAGS += -DOPENSSL_CPUID_OBJ
|
||||||
|
libcrypto_la_SOURCES += $(ASM_X86_64_MACOSX)
|
||||||
|
endif
|
32
update.sh
32
update.sh
@ -5,6 +5,7 @@ openbsd_branch=`cat OPENBSD_BRANCH`
|
|||||||
libressl_version=`cat VERSION`
|
libressl_version=`cat VERSION`
|
||||||
|
|
||||||
# pull in latest upstream code
|
# pull in latest upstream code
|
||||||
|
echo "pulling upstream openbsd source"
|
||||||
if [ ! -d openbsd ]; then
|
if [ ! -d openbsd ]; then
|
||||||
if [ -z "$LIBRESSL_GIT" ]; then
|
if [ -z "$LIBRESSL_GIT" ]; then
|
||||||
git clone https://github.com/libressl-portable/openbsd.git
|
git clone https://github.com/libressl-portable/openbsd.git
|
||||||
@ -93,6 +94,7 @@ copy_hdrs crypto "stack/stack.h lhash/lhash.h stack/safestack.h opensslv.h
|
|||||||
copy_hdrs ssl "srtp.h ssl.h ssl2.h ssl3.h ssl23.h tls1.h dtls1.h"
|
copy_hdrs ssl "srtp.h ssl.h ssl2.h ssl3.h ssl23.h tls1.h dtls1.h"
|
||||||
|
|
||||||
# copy libcrypto source
|
# copy libcrypto source
|
||||||
|
echo copying libcrypto source
|
||||||
rm -f crypto/*.c crypto/*.h
|
rm -f crypto/*.c crypto/*.h
|
||||||
for i in `awk '/SOURCES|HEADERS/ { print $3 }' crypto/Makefile.am` ; do
|
for i in `awk '/SOURCES|HEADERS/ { print $3 }' crypto/Makefile.am` ; do
|
||||||
dir=`dirname $i`
|
dir=`dirname $i`
|
||||||
@ -106,13 +108,40 @@ done
|
|||||||
$CP crypto/compat/b_win.c crypto/bio
|
$CP crypto/compat/b_win.c crypto/bio
|
||||||
$CP crypto/compat/ui_openssl_win.c crypto/ui
|
$CP crypto/compat/ui_openssl_win.c crypto/ui
|
||||||
|
|
||||||
|
# generate assembly crypto algorithms
|
||||||
|
asm_src=$libssl_src/src/crypto
|
||||||
|
for abi in elf macosx; do
|
||||||
|
echo generating ASM source for $abi
|
||||||
|
perl $asm_src/aes/asm/aes-x86_64.pl $abi > crypto/aes/aes-${abi}-x86_64.s
|
||||||
|
perl $asm_src/aes/asm/vpaes-x86_64.pl $abi > crypto/aes/vpaes-${abi}-x86_64.s
|
||||||
|
perl $asm_src/aes/asm/bsaes-x86_64.pl $abi > crypto/aes/bsaes-${abi}-x86_64.s
|
||||||
|
perl $asm_src/aes/asm/aesni-x86_64.pl $abi > crypto/aes/aesni-${abi}-x86_64.s
|
||||||
|
perl $asm_src/aes/asm/aesni-sha1-x86_64.pl $abi > crypto/aes/aesni-sha1-${abi}-x86_64.s
|
||||||
|
perl $asm_src/bn/asm/modexp512-x86_64.pl $abi > crypto/bn/modexp512-${abi}-x86_64.s
|
||||||
|
perl $asm_src/bn/asm/x86_64-mont.pl $abi > crypto/bn/mont-${abi}-x86_64.s
|
||||||
|
perl $asm_src/bn/asm/x86_64-mont5.pl $abi > crypto/bn/mont5-${abi}-x86_64.s
|
||||||
|
perl $asm_src/bn/asm/x86_64-gf2m.pl $abi > crypto/bn/gf2m-${abi}-x86_64.s
|
||||||
|
perl $asm_src/camellia/asm/cmll-x86_64.pl $abi > crypto/camellia/cmll-${abi}-x86_64.s
|
||||||
|
perl $asm_src/md5/asm/md5-x86_64.pl $abi > crypto/md5/md5-${abi}-x86_64.s
|
||||||
|
perl $asm_src/modes/asm/ghash-x86_64.pl $abi > crypto/modes/ghash-${abi}-x86_64.s
|
||||||
|
perl $asm_src/rc4/asm/rc4-x86_64.pl $abi > crypto/rc4/rc4-${abi}-x86_64.s
|
||||||
|
perl $asm_src/rc4/asm/rc4-md5-x86_64.pl $abi > crypto/rc4/rc4-md5-${abi}-x86_64.s
|
||||||
|
perl $asm_src/sha/asm/sha1-x86_64.pl $abi > crypto/sha/sha1-${abi}-x86_64.s
|
||||||
|
perl $asm_src/sha/asm/sha512-x86_64.pl $abi crypto/sha/sha256-${abi}-x86_64.S
|
||||||
|
perl $asm_src/sha/asm/sha512-x86_64.pl $abi crypto/sha/sha512-${abi}-x86_64.S
|
||||||
|
perl $asm_src/whrlpool/asm/wp-x86_64.pl $abi > crypto/whrlpool/wp-${abi}-x86_64.s
|
||||||
|
perl $asm_src/x86_64cpuid.pl $abi crypto/cpuid-${abi}-x86_64.S
|
||||||
|
done
|
||||||
|
|
||||||
# copy libtls source
|
# copy libtls source
|
||||||
|
echo copying libtls source
|
||||||
rm -f tls/*.c tls/*.h
|
rm -f tls/*.c tls/*.h
|
||||||
for i in `awk '/SOURCES|HEADERS/ { print $3 }' tls/Makefile.am` ; do
|
for i in `awk '/SOURCES|HEADERS/ { print $3 }' tls/Makefile.am` ; do
|
||||||
cp $libtls_src/$i tls
|
cp $libtls_src/$i tls
|
||||||
done
|
done
|
||||||
|
|
||||||
# copy openssl(1) source
|
# copy openssl(1) source
|
||||||
|
echo "copying openssl(1) source"
|
||||||
$CP $libc_src/stdlib/strtonum.c apps
|
$CP $libc_src/stdlib/strtonum.c apps
|
||||||
$CP $libcrypto_src/openssl.cnf apps
|
$CP $libcrypto_src/openssl.cnf apps
|
||||||
for i in `awk '/SOURCES|HEADERS/ { print $3 }' apps/Makefile.am` ; do
|
for i in `awk '/SOURCES|HEADERS/ { print $3 }' apps/Makefile.am` ; do
|
||||||
@ -122,12 +151,14 @@ for i in `awk '/SOURCES|HEADERS/ { print $3 }' apps/Makefile.am` ; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
# copy libssl source
|
# copy libssl source
|
||||||
|
echo "copying libssl source"
|
||||||
rm -f ssl/*.c ssl/*.h
|
rm -f ssl/*.c ssl/*.h
|
||||||
for i in `awk '/SOURCES|HEADERS/ { print $3 }' ssl/Makefile.am` ; do
|
for i in `awk '/SOURCES|HEADERS/ { print $3 }' ssl/Makefile.am` ; do
|
||||||
cp $libssl_src/src/ssl/$i ssl
|
cp $libssl_src/src/ssl/$i ssl
|
||||||
done
|
done
|
||||||
|
|
||||||
# copy libcrypto tests
|
# copy libcrypto tests
|
||||||
|
echo "copying tests"
|
||||||
rm -f tests/biotest.c
|
rm -f tests/biotest.c
|
||||||
for i in aead/aeadtest.c aeswrap/aes_wrap.c base64/base64test.c bf/bftest.c \
|
for i in aead/aeadtest.c aeswrap/aes_wrap.c base64/base64test.c bf/bftest.c \
|
||||||
bn/general/bntest.c bn/mont/mont.c \
|
bn/general/bntest.c bn/mont/mont.c \
|
||||||
@ -223,6 +254,7 @@ echo "EXTRA_DIST += testssl ca.pem server.pem" >> tests/Makefile.am
|
|||||||
done
|
done
|
||||||
)
|
)
|
||||||
|
|
||||||
|
echo "copying manpages"
|
||||||
# copy manpages
|
# copy manpages
|
||||||
(cd man
|
(cd man
|
||||||
$CP Makefile.am.tpl Makefile.am
|
$CP Makefile.am.tpl Makefile.am
|
||||||
|
Loading…
x
Reference in New Issue
Block a user