Source: ffindex
Version: 0.9.9.9-1
Tags: upstream patch
User: helm...@debian.org
Usertags: rebootstrap

ffindex fails to cross build from source, because it uses mpicc. mpicc
is unfixable in terms of cross building, which is why it is being moved
to pkg-config upstream. Rather than wrap your build in mpicc, you can
compute the relevant flags using pkg-config just like any other library.
The attached patch implements that and makes ffindex cross buildable
once you add pkg-config to Build-Depends. Please consider applying it.

Helmut
--- ffindex-0.9.9.9.orig/src/Makefile
+++ ffindex-0.9.9.9/src/Makefile
@@ -7,7 +7,10 @@
 #CC=gcc
 #CC=icc
 #CC=clang
+PKG_CONFIG?=pkg-config
 CFLAGS+=-std=c99 -O2 -g -fPIC -Wall -pedantic -D_GNU_SOURCE=1 -I. $(CPPFLAGS)
+CFLAGS_MPI=$(shell $(PKG_CONFIG) --cflags mpi)
+LDFLAGS_MPI=$(shell $(PKG_CONFIG) --libs mpi)
 SOCURRENT=2
 SOREVISION=0
 SOAGE=2
@@ -61,16 +64,16 @@
 	$(CC) $(CFLAGS) -o $@  ffindex_apply.o $(LDFLAGS) -L. -lffindex
 
 ffindex_apply_mpi: ffindex_apply_mpi.o $(FFINDEX_LIBS)
-	mpicc $(CFLAGS) -DHAVE_MPI -o $@  ffindex_apply_mpi.o $(LDFLAGS) -L. -lffindex
+	$(CC) $(CFLAGS_MPI) $(LDFLAGS_MPI) $(CFLAGS) -DHAVE_MPI -o $@  ffindex_apply_mpi.o $(LDFLAGS) -L. -lffindex
 
 ffindex_apply_mpi.o: ffindex_apply_mpi.c $(FFINDEX_HEADERS)
-	mpicc $(CFLAGS) -DHAVE_MPI -c ffindex_apply_mpi.c -o $@ 
+	$(CC) $(CFLAGS_MPI) $(CFLAGS) -DHAVE_MPI -c ffindex_apply_mpi.c -o $@ 
 
 ffindex_apply_mpi_spawn: ffindex_apply_mpi_spawn.o $(FFINDEX_LIBS)
-	mpicc $(CFLAGS) -o $@  ffindex_apply_mpi_spawn.o $(LDFLAGS)
+	$(CC) $(CFLAGS_MPI) $(LDFLAGS_MPI) $(CFLAGS) -o $@  ffindex_apply_mpi_spawn.o $(LDFLAGS)
 
 ffindex_apply_mpi_spawn.o: ffindex_apply_mpi_spawn.o $(FFINDEX_HEADERS)
-	mpicc $(CFLAGS) -c ffindex_apply_mpi_spawn.c -o $@ 
+	$(CC) $(CFLAGS_MPI) $(CFLAGS) -c ffindex_apply_mpi_spawn.c -o $@ 
 
 ffindex_from_fasta: ffindex_from_fasta.o $(FFINDEX_LIBS)
 	$(CC) -o $@ ffindex_from_fasta.o $(LDFLAGS) $(STATIC)

Reply via email to