bch: Fix build on FreeBSD host
authorEmmanuel Vadot <manu@bidouilliste.com>
Tue, 20 Jun 2017 07:02:29 +0000 (09:02 +0200)
committerTom Rini <trini@konsulko.com>
Tue, 20 Jun 2017 18:03:33 +0000 (14:03 -0400)
endian.h on FreeBSD system exist in sys/ subdirectory.
FreeBSD already have a fls function defined in strings.h which is included
in string.h if __BSD_VISIBLE is defined, as a check for this.

Signed-off-by: Emmanuel Vadot <manu@bidouilliste.com>
lib/bch.c

index ec53483774b5babe49437fa79537e4d80a91b13c..7a2d9d3b86b7a69b213662f4dd1e6be836aa21f2 100644 (file)
--- a/lib/bch.c
+++ b/lib/bch.c
 #include <linux/bitops.h>
 #else
 #include <errno.h>
+#if defined(__FreeBSD__)
+#include <sys/endian.h>
+#else
 #include <endian.h>
+#endif
 #include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
@@ -113,6 +117,7 @@ struct gf_poly_deg1 {
 };
 
 #ifdef USE_HOSTCC
+#ifndef __BSD_VISIBLE
 static int fls(int x)
 {
        int r = 32;
@@ -142,6 +147,7 @@ static int fls(int x)
        return r;
 }
 #endif
+#endif
 
 /*
  * same as encode_bch(), but process input data one byte at a time