package iproute2 has problems building on recent BSD-derived platforms
authorFlorian Fainelli <florian@openwrt.org>
Fri, 8 Aug 2008 21:49:17 +0000 (21:49 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Fri, 8 Aug 2008 21:49:17 +0000 (21:49 +0000)
because some programs to be run on the host use malloc.h in an
incompatible way.

package/iproute2/patches/004-darwin_fixes.patch has a fix for Darwin,
however the fix can be made to work on other BSD platforms
by changing the patch as below.

I think a similar approach should work for other BSD-derived platforms,
replacing the
#ifndef __APPLE__
with
#if !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(...)

or perhaps even with just

#ifdef __linux__

if the set of platforms where malloc.h is ok is small or restricted
to just linux

In any case, the patch is below. (#3869)
Signed-off-by: Luigi Rizzo <rizzo@iet.unipi.it>
SVN-Revision: 12249

package/iproute2/patches/004-darwin_fixes.patch

index 3719c7eba115215e25c0da5456699590d1d40fcc..da7c3ec6db7d724570f4ef0d4b96a092e19a5584 100644 (file)
@@ -6,7 +6,7 @@ Index: iproute-2.6.20-070313/netem/maketable.c
  #include <stdio.h>
  #include <stdlib.h>
  #include <math.h>
  #include <stdio.h>
  #include <stdlib.h>
  #include <math.h>
-+#ifndef __APPLE__
++#if !defined(__APPLE__) && !defined(__FreeBSD__)
  #include <malloc.h>
 +#endif
  #include <string.h>
  #include <malloc.h>
 +#endif
  #include <string.h>
@@ -20,7 +20,7 @@ Index: iproute-2.6.20-070313/netem/normal.c
  #include <string.h>
  #include <limits.h>
  
  #include <string.h>
  #include <limits.h>
  
-+#ifndef __APPLE__
++#if !defined(__APPLE__) && !defined(__FreeBSD__)
  #include <linux/types.h>
  #include <linux/pkt_sched.h>
 +#else
  #include <linux/types.h>
  #include <linux/pkt_sched.h>
 +#else
@@ -37,7 +37,7 @@ Index: iproute-2.6.20-070313/netem/pareto.c
  #include <math.h>
  #include <limits.h>
  
  #include <math.h>
  #include <limits.h>
  
-+#ifndef __APPLE__
++#if !defined(__APPLE__) && !defined(__FreeBSD__)
  #include <linux/types.h>
  #include <linux/pkt_sched.h>
 +#else
  #include <linux/types.h>
  #include <linux/pkt_sched.h>
 +#else
@@ -54,7 +54,7 @@ Index: iproute-2.6.20-070313/netem/paretonormal.c
  #include <string.h>
  #include <math.h>
  #include <limits.h>
  #include <string.h>
  #include <math.h>
  #include <limits.h>
-+#ifndef __APPLE__
++#if !defined(__APPLE__) && !defined(__FreeBSD__)
  #include <malloc.h>
 -
  #include <linux/types.h>
  #include <malloc.h>
 -
  #include <linux/types.h>