*: work around sysinfo.h versus linux/*.h problems

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/procps/free.c b/procps/free.c
index ca75313..47f2fc3 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 7537118..dcc0f7b 100644
--- a/procps/ps.c
+++ b/procps/ps.c
@@ -62,6 +62,9 @@
 
 #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 1a7da46..7432362 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 */