aboutsummaryrefslogtreecommitdiff
path: root/crypto/Makefile.am
diff options
context:
space:
mode:
authorBrent Cook <bcook@openbsd.org>2014-12-06 18:43:58 -0600
committerBrent Cook <bcook@openbsd.org>2014-12-07 16:26:28 -0600
commit03cd45e2c78b0298ab006fb64a4cda4fe6ab5657 (patch)
treeb6169d60691749d3a8a27c366646f7ad34d5c7d1 /crypto/Makefile.am
parente57d5d8be3fbab0aa2ffa87f79d5fb079a0af2e9 (diff)
downloadportable-03cd45e2c78b0298ab006fb64a4cda4fe6ab5657.tar.gz
portable-03cd45e2c78b0298ab006fb64a4cda4fe6ab5657.tar.bz2
portable-03cd45e2c78b0298ab006fb64a4cda4fe6ab5657.zip
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.
Diffstat (limited to 'crypto/Makefile.am')
-rw-r--r--crypto/Makefile.am28
1 files changed, 20 insertions, 8 deletions
diff --git a/crypto/Makefile.am b/crypto/Makefile.am
index 39b143d..91c58db 100644
--- a/crypto/Makefile.am
+++ b/crypto/Makefile.am
@@ -10,7 +10,11 @@ EXTRA_DIST = VERSION
10 10
11libcrypto_la_LDFLAGS = -version-info @LIBCRYPTO_VERSION@ 11libcrypto_la_LDFLAGS = -version-info @LIBCRYPTO_VERSION@
12libcrypto_la_LIBADD = libcompat.la libcompatnoopt.la 12libcrypto_la_LIBADD = libcompat.la libcompatnoopt.la
13libcrypto_la_CFLAGS = $(CFLAGS) $(USER_CFLAGS) -DOPENSSL_NO_HW_PADLOCK 13libcrypto_la_CFLAGS = $(CFLAGS) $(USER_CFLAGS)
14libcrypto_la_CFLAGS += -DOPENSSL_NO_HW_PADLOCK
15if OPENSSL_NO_ASM
16libcrypto_la_CFLAGS += -DOPENSSL_NO_ASM
17endif
14 18
15noinst_LTLIBRARIES = libcompat.la libcompatnoopt.la 19noinst_LTLIBRARIES = libcompat.la libcompatnoopt.la
16 20
@@ -103,6 +107,21 @@ noinst_HEADERS += compat/chacha_private.h
103libcrypto_la_SOURCES = 107libcrypto_la_SOURCES =
104EXTRA_libcrypto_la_SOURCES = 108EXTRA_libcrypto_la_SOURCES =
105 109
110include Makefile.am.elf-x86_64
111include Makefile.am.macosx-x86_64
112
113if !HOST_ASM_ELF_X86_64
114if !HOST_ASM_MACOSX_X86_64
115libcrypto_la_SOURCES += aes/aes_cbc.c
116libcrypto_la_SOURCES += aes/aes_core.c
117libcrypto_la_SOURCES += camellia/camellia.c
118libcrypto_la_SOURCES += camellia/cmll_cbc.c
119libcrypto_la_SOURCES += rc4/rc4_enc.c
120libcrypto_la_SOURCES += rc4/rc4_skey.c
121libcrypto_la_SOURCES += whrlpool/wp_block.c
122endif
123endif
124
106libcrypto_la_SOURCES += cpt_err.c 125libcrypto_la_SOURCES += cpt_err.c
107libcrypto_la_SOURCES += cryptlib.c 126libcrypto_la_SOURCES += cryptlib.c
108libcrypto_la_SOURCES += cversion.c 127libcrypto_la_SOURCES += cversion.c
@@ -118,9 +137,7 @@ noinst_HEADERS += md32_common.h
118noinst_HEADERS += o_time.h 137noinst_HEADERS += o_time.h
119 138
120# aes 139# aes
121libcrypto_la_SOURCES += aes/aes_cbc.c
122libcrypto_la_SOURCES += aes/aes_cfb.c 140libcrypto_la_SOURCES += aes/aes_cfb.c
123libcrypto_la_SOURCES += aes/aes_core.c
124libcrypto_la_SOURCES += aes/aes_ctr.c 141libcrypto_la_SOURCES += aes/aes_ctr.c
125libcrypto_la_SOURCES += aes/aes_ecb.c 142libcrypto_la_SOURCES += aes/aes_ecb.c
126libcrypto_la_SOURCES += aes/aes_ige.c 143libcrypto_la_SOURCES += aes/aes_ige.c
@@ -284,8 +301,6 @@ libcrypto_la_SOURCES += buffer/buf_str.c
284libcrypto_la_SOURCES += buffer/buffer.c 301libcrypto_la_SOURCES += buffer/buffer.c
285 302
286# camellia 303# camellia
287libcrypto_la_SOURCES += camellia/camellia.c
288libcrypto_la_SOURCES += camellia/cmll_cbc.c
289libcrypto_la_SOURCES += camellia/cmll_cfb.c 304libcrypto_la_SOURCES += camellia/cmll_cfb.c
290libcrypto_la_SOURCES += camellia/cmll_ctr.c 305libcrypto_la_SOURCES += camellia/cmll_ctr.c
291libcrypto_la_SOURCES += camellia/cmll_ecb.c 306libcrypto_la_SOURCES += camellia/cmll_ecb.c
@@ -666,8 +681,6 @@ libcrypto_la_SOURCES += rc2/rc2ofb64.c
666noinst_HEADERS += rc2/rc2_locl.h 681noinst_HEADERS += rc2/rc2_locl.h
667 682
668# rc4 683# rc4
669libcrypto_la_SOURCES += rc4/rc4_enc.c
670libcrypto_la_SOURCES += rc4/rc4_skey.c
671noinst_HEADERS += rc4/rc4_locl.h 684noinst_HEADERS += rc4/rc4_locl.h
672 685
673# ripemd 686# ripemd
@@ -739,7 +752,6 @@ libcrypto_la_SOURCES += ui/ui_util.c
739noinst_HEADERS += ui/ui_locl.h 752noinst_HEADERS += ui/ui_locl.h
740 753
741# whrlpool 754# whrlpool
742libcrypto_la_SOURCES += whrlpool/wp_block.c
743libcrypto_la_SOURCES += whrlpool/wp_dgst.c 755libcrypto_la_SOURCES += whrlpool/wp_dgst.c
744noinst_HEADERS += whrlpool/wp_locl.h 756noinst_HEADERS += whrlpool/wp_locl.h
745 757