From c91575ceec8579c03da3470a3f66e337fdd643f0 Mon Sep 17 00:00:00 2001 From: Alex Richardson Date: Thu, 23 Aug 2018 18:19:33 +0000 Subject: [PATCH] Don't build skein_block_asm.s if we don't have an as binary This fixes building libmd on MacOS/Linux. The real fix is probably to build it as a .S file with $CC instead. It might also be better to just compile the C file in userspace since the compiler can the use SSE/AVX. Reviewed By: emaste, brooks Approved By: jhb (mentor) Differential Revision: https://reviews.freebsd.org/D16844 --- lib/libmd/Makefile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/libmd/Makefile b/lib/libmd/Makefile index 131b3cd400d2..e90569dd1782 100644 --- a/lib/libmd/Makefile +++ b/lib/libmd/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include + PACKAGE=lib${LIB} LIB= md SHLIB_MAJOR= 6 @@ -114,11 +116,15 @@ SRCS+= rmd160.S CFLAGS+= -DRMD160_ASM .endif .if exists(${MACHINE_ARCH}/skein_block_asm.s) +.if defined(XAS) || ${MK_BINUTILS_BOOTSTRAP} != "no" AFLAGS += --strip-local-absolute # Fully unroll all loops in the assembly optimized version AFLAGS+= --defsym SKEIN_LOOP=0 SRCS+= skein_block_asm.s CFLAGS+= -DSKEIN_ASM -DSKEIN_USE_ASM=1792 # list of block functions to replace with assembly: 256+512+1024 = 1792 +.else +.warning as not available: not using optimized Skein asm +.endif .endif .if exists(${MACHINE_ARCH}/sha.S) || exists(${MACHINE_ARCH}/rmd160.S) || exists(${MACHINE_ARCH}/skein_block_asm.s) ACFLAGS+= -DELF -Wa,--noexecstack