git: f95880107ae1 - main - biology/gcta: Add temporary hack for building on aarch64

From: Jason W. Bacon <jwb_at_FreeBSD.org>
Date: Sun, 15 Oct 2023 11:49:06 UTC
The branch main has been updated by jwb:

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

commit f95880107ae1f12e660b08f24dacb3b88bf176bd
Author:     Jason W. Bacon <jwb@FreeBSD.org>
AuthorDate: 2023-10-15 11:47:27 +0000
Commit:     Jason W. Bacon <jwb@FreeBSD.org>
CommitDate: 2023-10-15 11:49:05 +0000

    biology/gcta: Add temporary hack for building on aarch64
    
    Add USE_GCC to work around this issue with clang:
    
    /usr/ports/biology/gcta/work/gcta-1.94.1/submods/plink-ng/2.0/ \
        plink2_base.h:1008:23: error: argument to '__builtin_neon_vshrq_n_v' \
        must be a constant integer
    return R_CAST(VecW, _mm_srli_epi64(R_CAST(__m128i, vv), ct));
    /usr/lib/clang/14.0.5/include/arm_neon.h:25260:24: note: expanded from \
        macro 'vshrq_n_u64'
    __ret = (uint64x2_t) __builtin_neon_vshrq_n_v((int8x16_t)__s0, __p1, 51);
---
 biology/gcta/Makefile | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/biology/gcta/Makefile b/biology/gcta/Makefile
index 5599f5c22fee..c9aef3210017 100644
--- a/biology/gcta/Makefile
+++ b/biology/gcta/Makefile
@@ -32,9 +32,20 @@ LDFLAGS+=	-fopenmp
 
 PLIST_FILES=	bin/gcta64 bin/gcta
 
+.include <bsd.port.pre.mk>
+
+# Temporary hack for clang build errors:
+# /usr/ports/biology/gcta/work/gcta-1.94.1/submods/plink-ng/2.0/plink2_base.h:1008:23: error: argument to '__builtin_neon_vshrq_n_v' must be a constant integer
+# return R_CAST(VecW, _mm_srli_epi64(R_CAST(__m128i, vv), ct));
+# /usr/lib/clang/14.0.5/include/arm_neon.h:25260:24: note: expanded from macro 'vshrq_n_u64'
+# __ret = (uint64x2_t) __builtin_neon_vshrq_n_v((int8x16_t)__s0, __p1, 51);
+.if ${ARCH} == aarch64
+USE_GCC=	yes
+.endif
+
 do-install:
 	@${MKDIR} ${STAGEDIR}${PREFIX}/bin
 	${INSTALL_PROGRAM} ${BUILD_WRKSRC}/gcta64 ${STAGEDIR}${PREFIX}/bin
 	${RLN} ${STAGEDIR}${PREFIX}/bin/gcta64 ${STAGEDIR}${PREFIX}/bin/gcta
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>