From 9412ec755543a1ddd5f4b39e1fe5a5dd319fa06c Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Thu, 7 Feb 2008 22:41:33 +0000 Subject: some more fixes for cross-compiling on an OS X host: apple provides core types so dont redefine them, sys/statfs.h is not available, and only use some newer AF_* defines if they are actually available --- include/libbb.h | 11 ++++++++++- include/platform.h | 11 ++++++----- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/include/libbb.h b/include/libbb.h index ccfe1b705..3ef03d6c9 100644 --- a/include/libbb.h +++ b/include/libbb.h @@ -30,7 +30,6 @@ #include #include #include -#include #include #include #include @@ -49,6 +48,10 @@ #include #endif +#ifdef HAVE_SYS_STATFS_H +#include +#endif + #if ENABLE_SELINUX #include #include @@ -311,8 +314,12 @@ struct BUG_too_small { | AF_INET | AF_INET6 | AF_UNIX +#ifdef AF_PACKET | AF_PACKET +#endif +#ifdef AF_NETLINK | AF_NETLINK +#endif /* | AF_DECnet */ /* | AF_IPX */ ) <= 127 ? 1 : -1]; @@ -807,8 +814,10 @@ extern void run_applet_and_exit(const char *name, char **argv); extern void run_applet_no_and_exit(int a, char **argv) ATTRIBUTE_NORETURN; #endif +#ifdef HAVE_MNTENT_H extern int match_fstype(const struct mntent *mt, const char *fstypes); extern struct mntent *find_mount_point(const char *name, const char *table); +#endif extern void erase_mtab(const char * name); extern unsigned int tty_baud_to_value(speed_t speed); extern speed_t tty_value_to_baud(unsigned int value); diff --git a/include/platform.h b/include/platform.h index 050338cf3..9acba63e0 100644 --- a/include/platform.h +++ b/include/platform.h @@ -137,19 +137,20 @@ /* ---- Networking ------------------------------------------ */ #ifndef __APPLE__ # include +# ifndef __socklen_t_defined +typedef int socklen_t; +# endif #else # include #endif -#ifndef __socklen_t_defined -typedef int socklen_t; -#endif - /* ---- Compiler dependent settings ------------------------- */ #if (defined __digital__ && defined __unix__) || defined __APPLE__ # undef HAVE_MNTENT_H +# undef HAVE_SYS_STATFS_H #else # define HAVE_MNTENT_H 1 +# define HAVE_SYS_STATFS_H 1 #endif /* ___digital__ && __unix__ */ /* linux/loop.h relies on __u64. Make sure we have that as a proper type @@ -180,7 +181,7 @@ __extension__ typedef unsigned long long __u64; #define HAVE_FEATURES_H #include #define HAVE_STDINT_H -#else +#elif !defined __APPLE__ /* Largest integral types. */ #if __BIG_ENDIAN__ typedef long intmax_t; -- cgit v1.2.3