From abf63a1927bae451df2fb28780871afeea4f0ae2 Mon Sep 17 00:00:00 2001 From: Baptiste Daroussin Date: Mon, 1 Jun 2015 22:01:52 +0000 Subject: [PATCH] Improve sysutils/b2sum: Make SSE2+ instructions optinal (default ON for amd64, can be used on some i386) to alow buiding on any platform Add OpenMP option Patch to not crash when compiled with Clang Pass maintainership to submitter Bump portrevision PR: 200561 Submitted by: matthew@reztek.cz --- sysutils/b2sum/Makefile | 43 +++++++++++++++++++++++------ sysutils/b2sum/files/patch-blake2.h | 22 +++++++++++++++ sysutils/b2sum/files/use_ref.patch | 13 +++++++++ 3 files changed, 69 insertions(+), 9 deletions(-) create mode 100644 sysutils/b2sum/files/patch-blake2.h create mode 100644 sysutils/b2sum/files/use_ref.patch diff --git a/sysutils/b2sum/Makefile b/sysutils/b2sum/Makefile index 96365f4b03de..1bd3768f3cd5 100644 --- a/sysutils/b2sum/Makefile +++ b/sysutils/b2sum/Makefile @@ -1,25 +1,50 @@ # $FreeBSD$ PORTNAME= b2sum -PORTVERSION= 0.0.d${DISTVERSION} -DISTVERSION= 20150529 -DISTNAME= blake2_code_${DISTVERSION}${EXTRACT_SUFFX} +PORTVERSION= 0.0.d${B2VERSION} +PORTREVISION= 1 CATEGORIES= sysutils security MASTER_SITES= http://blake2.net/ +DISTNAME= blake2_code_${B2VERSION}${EXTRACT_SUFFX} -MAINTAINER= bapt@FreeBSD.org -COMMENT= fast secure hashing +MAINTAINER= matthew@reztek.cz +COMMENT= Fast secure hashing + +LICENSE= CC0-1.0 +LICENSE_FILE= ${WRKSRC}/../COPYING + +B2VERSION= 20150529 USES= zip - -ONLY_FOR_ARCH= amd64 - -CFLAGS+= -I../sse +USE_CSTD= c99 WRKSRC_SUBDIR= b2sum MAKEFILE= makefile MAKE_ARGS= CC="${CC}" CFLAGS="${CFLAGS}" PLIST_FILES= bin/b2sum +OPTIONS_DEFINE= OPENMP OPTIMIZED_CFLAGS SSE +OPTIONS_DEFAULT_amd64=SSE +SSE_DESC= Use SSE2, SSSE3, SSE4.1, AVX or XOP instructions + +OPENMP_USES+= compiler:openmp +OPENMP_CFLAGS+= -fopenmp + +.include + +.if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS} +CFLAGS+= -O3 +.if !${CFLAGS:M-march=*} +CFLAGS+= -march=native +.endif +.endif + +.if (${PORT_OPTIONS:MSSE} && (${ARCH} == "i386" || ${ARCH} == "amd64")) +CFLAGS+= -I../sse +.else +CFLAGS+= -I../ref +EXTRA_PATCHES= ${PATCHDIR}/use_ref.patch +.endif + do-install: ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin diff --git a/sysutils/b2sum/files/patch-blake2.h b/sysutils/b2sum/files/patch-blake2.h new file mode 100644 index 000000000000..dc74bfd9c395 --- /dev/null +++ b/sysutils/b2sum/files/patch-blake2.h @@ -0,0 +1,22 @@ +--- ../ref/blake2.h.orig 2015-06-01 01:10:19 UTC ++++ ../ref/blake2.h +@@ -19,6 +19,8 @@ + + #if defined(_MSC_VER) + #define ALIGN(x) __declspec(align(x)) ++#elif defined(__clang__) ++#define ALIGN(x) /* unaligned access in b2*p at -O >0 */ + #else + #define ALIGN(x) __attribute__((aligned(x))) + #endif +--- ../sse/blake2.h.orig 2015-05-29 08:02:54 UTC ++++ ../sse/blake2.h +@@ -19,6 +19,8 @@ + + #if defined(_MSC_VER) + #define ALIGN(x) __declspec(align(x)) ++#elif defined(__clang__) ++#define ALIGN(x) /* unaligned access in b2*p at -O >0 */ + #else + #define ALIGN(x) __attribute__ ((__aligned__(x))) + #endif diff --git a/sysutils/b2sum/files/use_ref.patch b/sysutils/b2sum/files/use_ref.patch new file mode 100644 index 000000000000..7c3b032caa99 --- /dev/null +++ b/sysutils/b2sum/files/use_ref.patch @@ -0,0 +1,13 @@ +--- makefile.orig 2015-05-31 23:30:20 UTC ++++ makefile +@@ -1,8 +1,8 @@ + CC=gcc + CFLAGS=-std=c99 -O3 -march=native -I../sse -static -fopenmp + LIBS= +-#FILES=blake2sum.c ../ref/blake2b-ref.c ../ref/blake2s-ref.c ../ref/blake2bp-ref.c ../ref/blake2sp-ref.c +-FILES=b2sum.c ../sse/blake2b.c ../sse/blake2s.c ../sse/blake2bp.c ../sse/blake2sp.c ++FILES=b2sum.c ../ref/blake2b-ref.c ../ref/blake2s-ref.c ../ref/blake2bp-ref.c ../ref/blake2sp-ref.c ++#FILES=b2sum.c ../sse/blake2b.c ../sse/blake2s.c ../sse/blake2bp.c ../sse/blake2sp.c + all: $(FILES) + $(CC) $(FILES) $(CFLAGS) $(LIBS) -o b2sum +