Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Apr 2023 21:55:56 GMT
From:      Robert Clausecker <fuz@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: bba4910f8cf9 - main - biology/htslib: fix build on armv7
Message-ID:  <202304182155.33ILtuop062730@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by fuz:

URL: https://cgit.FreeBSD.org/ports/commit/?id=bba4910f8cf9cb77e587343c7fc81c5341ae52f9

commit bba4910f8cf9cb77e587343c7fc81c5341ae52f9
Author:     Robert Clausecker <fuz@FreeBSD.org>
AuthorDate: 2023-04-17 21:18:56 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2023-04-18 21:55:29 +0000

    biology/htslib: fix build on armv7
    
    This project includes some SIMD-enhanced functions for ARM NEON.
    Unfortunately the code uses a bunch of intrinsics only available on
    aarch64.  Disable the use of NEON on armv6 and armv7 to fix the build
    on these platforms.
    
    See also:       https://github.com/samtools/htslib/issues/1603
    Approved by:    portmgr (build fix blanket)
---
 biology/htslib/Makefile                                       |  3 +++
 .../patch-htscodecs_htscodecs_rANS__static32x16pr__neon.c     | 11 +++++++++++
 .../files/patch-htscodecs_htscodecs_rANS__static4x16pr.c      | 11 +++++++++++
 3 files changed, 25 insertions(+)

diff --git a/biology/htslib/Makefile b/biology/htslib/Makefile
index 9f85da45917a..6a6e6a616d1c 100644
--- a/biology/htslib/Makefile
+++ b/biology/htslib/Makefile
@@ -20,6 +20,9 @@ USE_PERL5=	test
 USE_LDCONFIG=	yes
 
 GNU_CONFIGURE=		yes
+MAKE_ARGS_armv6=	HTS_HAVE_NEON=
+MAKE_ARGS_armv7=	HTS_HAVE_NEON=
+MAKE_ARGS=		$(MAKE_ARGS_$(ARCH))
 PATHFIX_MAKEFILEIN=	Makefile
 SHEBANG_FILES=		test/*.pl
 
diff --git a/biology/htslib/files/patch-htscodecs_htscodecs_rANS__static32x16pr__neon.c b/biology/htslib/files/patch-htscodecs_htscodecs_rANS__static32x16pr__neon.c
new file mode 100644
index 000000000000..577a3d651321
--- /dev/null
+++ b/biology/htslib/files/patch-htscodecs_htscodecs_rANS__static32x16pr__neon.c
@@ -0,0 +1,11 @@
+--- htscodecs/htscodecs/rANS_static32x16pr_neon.c.orig	2023-04-17 21:11:08 UTC
++++ htscodecs/htscodecs/rANS_static32x16pr_neon.c
+@@ -32,7 +32,7 @@
+  */
+ 
+ #include "config.h"
+-#ifdef __ARM_NEON
++#if defined(__ARM_NEON) && defined(__aarch64__)
+ #include <arm_neon.h>
+ 
+ #include <limits.h>
diff --git a/biology/htslib/files/patch-htscodecs_htscodecs_rANS__static4x16pr.c b/biology/htslib/files/patch-htscodecs_htscodecs_rANS__static4x16pr.c
new file mode 100644
index 000000000000..8f3e883eec42
--- /dev/null
+++ b/biology/htslib/files/patch-htscodecs_htscodecs_rANS__static4x16pr.c
@@ -0,0 +1,11 @@
+--- htscodecs/htscodecs/rANS_static4x16pr.c.orig	2023-04-17 21:13:50 UTC
++++ htscodecs/htscodecs/rANS_static4x16pr.c
+@@ -1006,7 +1006,7 @@ unsigned char *(*rans_dec_func(int do_simd, int order)
+     }
+ }
+ 
+-#elif defined(__ARM_NEON)
++#elif defined(__ARM_NEON) && defined(__aarch64__)
+ 
+ #if defined(__linux__) || defined(__FreeBSD__)
+ #include <sys/auxv.h>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202304182155.33ILtuop062730>