diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2011-07-26 15:42:12 +0400 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2011-07-26 15:42:12 +0400 |
commit | 67905e2d7c6ee273b753af22fb22de0ebec918c1 (patch) | |
tree | cd61c7674c123307490cf1ff290ecb76a5c2905c | |
parent | 4abcb8b0d1c41544902ccd7927148eea393be37e (diff) |
*: work around sysinfo.h versus linux/*.h problems
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | include/libbb.h | 10 | ||||
-rw-r--r-- | init/init.c | 3 | ||||
-rw-r--r-- | procps/free.c | 3 | ||||
-rw-r--r-- | procps/ps.c | 3 | ||||
-rw-r--r-- | procps/uptime.c | 4 |
5 files changed, 18 insertions, 5 deletions
diff --git a/include/libbb.h b/include/libbb.h index 3d31ff225..63d041957 100644 --- a/include/libbb.h +++ b/include/libbb.h @@ -52,10 +52,12 @@ #ifdef HAVE_SYS_STATFS_H # include <sys/statfs.h> #endif -/* struct sysinfo is linux-specific */ -#ifdef __linux__ -# include <sys/sysinfo.h> -#endif +/* Don't do this here: + * #include <sys/sysinfo.h> + * Some linux/ includes pull in conflicting definition + * of struct sysinfo (only in some toolchanins), which breaks build. + * Include sys/sysinfo.h only in those files which need it. + */ #if ENABLE_SELINUX # include <selinux/selinux.h> # include <selinux/context.h> diff --git a/init/init.c b/init/init.c index ff9dc06a4..645f694c0 100644 --- a/init/init.c +++ b/init/init.c @@ -113,7 +113,8 @@ #include <paths.h> #include <sys/resource.h> #ifdef __linux__ -#include <linux/vt.h> +# include <linux/vt.h> +# include <sys/sysinfo.h> #endif #include "reboot.h" /* reboot() constants */ diff --git a/procps/free.c b/procps/free.c index ca753134c..47f2fc3b2 100644 --- a/procps/free.c +++ b/procps/free.c @@ -22,6 +22,9 @@ //usage: "Total: 386144 257128 129016\n" #include "libbb.h" +#ifdef __linux__ +# include <sys/sysinfo.h> +#endif struct globals { unsigned mem_unit; diff --git a/procps/ps.c b/procps/ps.c index 7537118f6..dcc0f7bd4 100644 --- a/procps/ps.c +++ b/procps/ps.c @@ -62,6 +62,9 @@ enum { MAX_WIDTH = 2*1024 }; #if ENABLE_DESKTOP +#ifdef __linux__ +# include <sys/sysinfo.h> +#endif #include <sys/times.h> /* for times() */ #ifndef AT_CLKTCK # define AT_CLKTCK 17 diff --git a/procps/uptime.c b/procps/uptime.c index 1a7da46a3..74323625d 100644 --- a/procps/uptime.c +++ b/procps/uptime.c @@ -25,6 +25,10 @@ //usage: " 1:55pm up 2:30, load average: 0.09, 0.04, 0.00\n" #include "libbb.h" +#ifdef __linux__ +# include <sys/sysinfo.h> +#endif + #ifndef FSHIFT # define FSHIFT 16 /* nr of bits of precision */ |