svn commit: r502244 - in head/biology/hhsuite: . files
Yuri Victorovich
yuri at FreeBSD.org
Wed May 22 02:50:58 UTC 2019
Author: yuri
Date: Wed May 22 02:50:56 2019
New Revision: 502244
URL: https://svnweb.freebsd.org/changeset/ports/502244
Log:
biology/hhsuite: Fix build on platforms where SIMD instruction set doesn't exist or isn't detected.
It forces it to default to SSE2 on amd64/i386 and relaxes the SIMD requirement on all other platforms.
Reported by: fallout
Added:
head/biology/hhsuite/files/patch-src_CMakeLists.txt (contents, props changed)
Modified:
head/biology/hhsuite/Makefile
Modified: head/biology/hhsuite/Makefile
==============================================================================
--- head/biology/hhsuite/Makefile Wed May 22 02:34:39 2019 (r502243)
+++ head/biology/hhsuite/Makefile Wed May 22 02:50:56 2019 (r502244)
@@ -23,4 +23,10 @@ GH_PROJECT= hh-suite
LDFLAGS+= -Wl,-rpath,${LOCALBASE}/mpi/openmpi/lib -L${LOCALBASE}/mpi/openmpi/lib -lmpi # force linking to openmpi, and not to mpich
+.include <bsd.port.options.mk>
+
+.if ${ARCH} == amd64 || ${ARCH} == i386
+CMAKE_ON= HAVE_SSE2
+.endif
+
.include <bsd.port.mk>
Added: head/biology/hhsuite/files/patch-src_CMakeLists.txt
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/biology/hhsuite/files/patch-src_CMakeLists.txt Wed May 22 02:50:56 2019 (r502244)
@@ -0,0 +1,30 @@
+--- src/CMakeLists.txt.orig 2019-04-01 04:04:44 UTC
++++ src/CMakeLists.txt
+@@ -2,20 +2,26 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
+ set(CHECK_MPI 1 CACHE BOOL "Check MPI availability")
+
+ if (${HAVE_AVX2})
++ MESSAGE(STATUS "SIMD: HAVE_AVX2 is set")
+ ADD_DEFINITIONS("-DAVX2")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mavx2 -Wa,-q")
+ elseif (${HAVE_SSE2})
++ MESSAGE(STATUS "SIMD: HAVE_SSE2 is set")
+ ADD_DEFINITIONS("-DSSE")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse -msse2")
+ else ()
++ MESSAGE(STATUS "SIMD: No HAVE_AVX2 or HAVE_SSE2 are set, trying to detect them")
+ include(CheckSSEFeatures)
+ ADD_DEFINITIONS(${CXX_DFLAGS})
+ if (${HAVE_AVX2_EXTENSIONS})
++ MESSAGE(STATUS "SIMD: Found AVX2")
+ ADD_DEFINITIONS("-DAVX2")
+ elseif (${HAVE_SSE2_EXTENSIONS})
++ MESSAGE(STATUS "SIMD: Found SSE2")
+ ADD_DEFINITIONS("-DSSE")
+ else ()
+- message(FATAL_ERROR "At least SSE2 instruction set support is required! CMake will exit.")
++ #message(FATAL_ERROR "At least SSE2 instruction set support is required! CMake will exit.")
++ message(STATUS "SIMD: This platform doesn't have a supported SIMD instruction set, expect it to be slow.")
+ endif (${HAVE_AVX2_EXTENSIONS})
+ endif ()
+
More information about the svn-ports-all
mailing list