guix/gnu/packages/patches/minimap2-aarch64-support.patch
Efraim Flashner 3832704aff
gnu: minimap2: Fix build on aarch64-linux.
* gnu/packages/bioinformatics.scm (minimap2)[arguments]: Adjust
configure-flags to be better per-architecture.
[source]: Add patch.
* gnu/packages/patches/minimap2-aarch64-support.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
2020-12-07 12:48:07 +02:00

52 lines
2.2 KiB
Diff

This patch should be removed with the next release. There is WIP upstream
support for proper support of more architectures, including aarch64 and powerpc64le.
diff --git a/Makefile b/Makefile
index ed341f6..94dbd85 100644
--- a/Makefile
+++ b/Makefile
@@ -6,20 +6,18 @@ PROG= minimap2
PROG_EXTRA= sdust minimap2-lite
LIBS= -lm -lz -lpthread
-ifeq ($(arm_neon),) # if arm_neon is not defined
-ifeq ($(sse2only),) # if sse2only is not defined
- OBJS+=ksw2_extz2_sse41.o ksw2_extd2_sse41.o ksw2_exts2_sse41.o ksw2_extz2_sse2.o ksw2_extd2_sse2.o ksw2_exts2_sse2.o ksw2_dispatch.o
-else # if sse2only is defined
- OBJS+=ksw2_extz2_sse.o ksw2_extd2_sse.o ksw2_exts2_sse.o
-endif
-else # if arm_neon is defined
+ifneq ($(arm_neon),) # if arm_neon is defined
OBJS+=ksw2_extz2_neon.o ksw2_extd2_neon.o ksw2_exts2_neon.o
- INCLUDES+=-Isse2neon
-ifeq ($(aarch64),) #if aarch64 is not defined
CFLAGS+=-D_FILE_OFFSET_BITS=64 -mfpu=neon -fsigned-char
-else #if aarch64 is defined
+ INCLUDES+=-Isse2neon
+else ifneq ($(aarch64),) #if aarch64 is defined
+ OBJS+=ksw2_extz2_neon.o ksw2_extd2_neon.o ksw2_exts2_neon.o
CFLAGS+=-D_FILE_OFFSET_BITS=64 -fsigned-char
-endif
+ INCLUDES+=-Isse2neon
+else ifneq ($(sse2only),) # if sse2only is defined
+ OBJS+=ksw2_extz2_sse.o ksw2_extd2_sse.o ksw2_exts2_sse.o
+else # none of the above
+ OBJS+=ksw2_extz2_sse41.o ksw2_extd2_sse41.o ksw2_exts2_sse41.o ksw2_extz2_sse2.o ksw2_extd2_sse2.o ksw2_exts2_sse2.o ksw2_dispatch.o
endif
.PHONY:all extra clean depend
@@ -46,9 +44,12 @@ sdust:sdust.c kalloc.o kalloc.h kdq.h kvec.h kseq.h ketopt.h sdust.h
# SSE-specific targets on x86/x86_64
-ifeq ($(arm_neon),) # if arm_neon is defined, compile this target with the default setting (i.e. no -msse2)
+ifneq ($(arm_neon),) # if arm_neon is defined, compile this target with the default setting (i.e. no -msse2)
+ksw2_ll_sse.o:ksw2_ll_sse.c ksw2.h kalloc.h
+else ifneq ($(aarch64),)
ksw2_ll_sse.o:ksw2_ll_sse.c ksw2.h kalloc.h
- $(CC) -c $(CFLAGS) -msse2 $(CPPFLAGS) $(INCLUDES) $< -o $@
+else
+ $(CC) -c $(CFLAGS) -msse2 $(CPPFLAGS) $(INCLUDES) $< -o $@
endif
ksw2_extz2_sse41.o:ksw2_extz2_sse.c ksw2.h kalloc.h