only build arch specific raid6 routines on the arch they run on.

From: Dave Jones
Date: Mon Mar 12 2012 - 13:17:33 EST


I noticed the altivec routines are being built even on x86.
Also it looks like mmx/sse get built on non-x86.

Signed-off-by: Dave Jones <davej@xxxxxxxxxx>

diff --git a/lib/raid6/Makefile b/lib/raid6/Makefile
index 8a38102..8549927 100644
--- a/lib/raid6/Makefile
+++ b/lib/raid6/Makefile
@@ -1,18 +1,23 @@
obj-$(CONFIG_RAID6_PQ) += raid6_pq.o

raid6_pq-y += algos.o recov.o tables.o int1.o int2.o int4.o \
- int8.o int16.o int32.o altivec1.o altivec2.o altivec4.o \
- altivec8.o mmx.o sse1.o sse2.o
-hostprogs-y += mktables
+ int8.o int16.o int32.o

-quiet_cmd_unroll = UNROLL $@
- cmd_unroll = $(AWK) -f$(srctree)/$(src)/unroll.awk -vN=$(UNROLL) \
- < $< > $@ || ( rm -f $@ && exit 1 )
+ifeq ($(CONFIG_X86),y)
+raid6_pq-y += mmx.o sse1.o sse2.o
+endif

ifeq ($(CONFIG_ALTIVEC),y)
+raid6_pq-y += altivec1.o altivec2.o altivec4.o altivec8.o
altivec_flags := -maltivec -mabi=altivec
endif

+hostprogs-y += mktables
+
+quiet_cmd_unroll = UNROLL $@
+ cmd_unroll = $(AWK) -f$(srctree)/$(src)/unroll.awk -vN=$(UNROLL) \
+ < $< > $@ || ( rm -f $@ && exit 1 )
+
targets += int1.c
$(obj)/int1.c: UNROLL := 1
$(obj)/int1.c: $(src)/int.uc $(src)/unroll.awk FORCE
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/