summaryrefslogtreecommitdiff
path: root/lib/libcrypto/arch
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2014-04-17 18:11:48 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2014-04-17 18:11:48 +0000
commitcde0e7d71fe0bef955ef6a27178b658f0c12a660 (patch)
tree0e0589bbb4ca82e9607524f74767da8af0c49f5a /lib/libcrypto/arch
parentef1acec489edffbf19f2f024833af10577413880 (diff)
Move the machine-specific parts of the libcrypto Makefile to per-arch makefile
fragments, to ease maintainance, and see through the fog of bugs. "looks good" deraadt@
Diffstat (limited to 'lib/libcrypto/arch')
-rw-r--r--lib/libcrypto/arch/amd64/Makefile.inc60
-rw-r--r--lib/libcrypto/arch/i386/Makefile.inc58
2 files changed, 118 insertions, 0 deletions
diff --git a/lib/libcrypto/arch/amd64/Makefile.inc b/lib/libcrypto/arch/amd64/Makefile.inc
new file mode 100644
index 00000000000..a408186a03a
--- /dev/null
+++ b/lib/libcrypto/arch/amd64/Makefile.inc
@@ -0,0 +1,60 @@
+# $OpenBSD: Makefile.inc,v 1.1 2014/04/17 18:11:47 miod Exp $
+
+# amd64-specific libcrypto build rules
+
+SRCS+= bf_enc.c des_enc.c fcrypt_b.c
+SRCS+= x86_64-gcc.c
+
+CFLAGS+= -DOPENSSL_BN_ASM_GF2m
+CFLAGS+= -DOPENSSL_BN_ASM_MONT
+CFLAGS+= -DOPENSSL_BN_ASM_MONT5
+CFLAGS+= -DOPENSSL_CPUID_OBJ
+CFLAGS+= -DOPENSSL_IA32_SSE2
+
+CFLAGS+= -DAES_ASM
+CFLAGS+= -DBSAES_ASM
+CFLAGS+= -DGHASH_ASM
+CFLAGS+= -DMD5_ASM
+CFLAGS+= -DSHA1_ASM
+CFLAGS+= -DSHA256_ASM
+CFLAGS+= -DSHA512_ASM
+CFLAGS+= -DVPAES_ASM
+CFLAGS+= -DWHIRLPOOL_ASM
+
+SSLASM=\
+ aes aes-x86_64 \
+ aes aesni-x86_64 \
+ aes aesni-sha1-x86_64 \
+ aes bsaes-x86_64 \
+ aes vpaes-x86_64 \
+ bn x86_64-mont \
+ bn x86_64-mont5 \
+ bn x86_64-gf2m \
+ bn modexp512-x86_64 \
+ md5 md5-x86_64 \
+ modes ghash-x86_64 \
+ rc4 rc4-x86_64 \
+ rc4 rc4-md5-x86_64 \
+ sha sha1-x86_64 \
+ whrlpool wp-x86_64
+
+.for dir f in ${SSLASM}
+SRCS+= ${f}.S
+GENERATED+=${f}.S
+${f}.S: ${LCRYPTO_SRC}/${dir}/asm/${f}.pl
+ (cd ${LCRYPTO_SRC}/${dir} ; \
+ /usr/bin/perl ./asm/${f}.pl openbsd-elf) > ${.TARGET}
+.endfor
+
+SRCS+= x86_64cpuid.S sha256-x86_64.S sha512-x86_64.S
+GENERATED+=x86_64cpuid.S sha256-x86_64.S sha512-x86_64.S
+
+x86_64cpuid.S: ${LCRYPTO_SRC}/x86_64cpuid.pl
+ (cd ${LCRYPTO_SRC}/${dir} ; \
+ /usr/bin/perl ./x86_64cpuid.pl) > ${.TARGET}
+sha256-x86_64.S: ${LCRYPTO_SRC}/sha/asm/sha512-x86_64.pl
+ cd ${LCRYPTO_SRC}/sha/asm ; \
+ /usr/bin/perl ./sha512-x86_64.pl ${.OBJDIR}/${.TARGET}
+sha512-x86_64.S: ${LCRYPTO_SRC}/sha/asm/sha512-x86_64.pl
+ cd ${LCRYPTO_SRC}/sha/asm ; \
+ /usr/bin/perl ./sha512-x86_64.pl ${.OBJDIR}/${.TARGET}
diff --git a/lib/libcrypto/arch/i386/Makefile.inc b/lib/libcrypto/arch/i386/Makefile.inc
new file mode 100644
index 00000000000..13f20d249dc
--- /dev/null
+++ b/lib/libcrypto/arch/i386/Makefile.inc
@@ -0,0 +1,58 @@
+# $OpenBSD: Makefile.inc,v 1.1 2014/04/17 18:11:47 miod Exp $
+
+# i386-specific libcrypto build rules
+
+SRCS+= wp_block.c
+SRCS+= bf_cbc.c
+
+CFLAGS+= -DOPENSSL_BN_ASM_GF2m
+CFLAGS+= -DOPENSSL_BN_ASM_MONT
+CFLAGS+= -DOPENSSL_BN_ASM_PART_WORDS
+CFLAGS+= -DOPENSSL_CPUID_OBJ
+CFLAGS+= -DOPENSSL_IA32_SSE2
+
+CFLAGS+= -DAES_ASM
+CFLAGS+= -DGHASH_ASM
+CFLAGS+= -DMD5_ASM
+CFLAGS+= -DRMD160_ASM
+CFLAGS+= -DSHA1_ASM
+CFLAGS+= -DSHA256_ASM
+CFLAGS+= -DSHA512_ASM
+CFLAGS+= -DVPAES_ASM
+CFLAGS+= -DWHIRLPOOL_ASM
+
+SSLASM=\
+ aes aes-586 \
+ aes vpaes-x86 \
+ aes aesni-x86 \
+ bf bf-586 \
+ bn bn-586 \
+ bn co-586 \
+ bn x86-mont \
+ bn x86-gf2m \
+ des crypt586 \
+ des des-586 \
+ md5 md5-586 \
+ modes ghash-x86 \
+ rc4 rc4-586 \
+ ripemd rmd-586 \
+ sha sha1-586 \
+ sha sha256-586 \
+ sha sha512-586 \
+ whrlpool wp-mmx
+
+.for dir f in ${SSLASM}
+SRCS+= ${f}.S
+GENERATED+=${f}.S
+${f}.S: ${LCRYPTO_SRC}/${dir}/asm/${f}.pl ${LCRYPTO_SRC}/perlasm/x86gas.pl
+ /usr/bin/perl -I${LCRYPTO_SRC}/perlasm -I${LCRYPTO_SRC}/${dir}/asm \
+ ${LCRYPTO_SRC}/${dir}/asm/${f}.pl \
+ openbsd-elf ${CFLAGS} 386 ${PICFLAG} > ${.TARGET}
+.endfor
+
+SRCS+= x86cpuid.S
+GENERATED+=x86cpuid.S
+
+x86cpuid.S: ${LCRYPTO_SRC}/x86cpuid.pl ${LCRYPTO_SRC}/perlasm/x86gas.pl
+ /usr/bin/perl -I${LCRYPTO_SRC}/perlasm ${LCRYPTO_SRC}/x86cpuid.pl \
+ openbsd-elf ${CFLAGS} 386 ${PICFLAG} > ${.TARGET}