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

This commit is contained in:
Mike Frysinger 2008-02-07 22:41:33 +00:00
parent 22876c797c
commit 9412ec7555
2 changed files with 16 additions and 6 deletions

View File

@ -30,7 +30,6 @@
#include <sys/mman.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/statfs.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/wait.h>
@ -49,6 +48,10 @@
#include <mntent.h>
#endif
#ifdef HAVE_SYS_STATFS_H
#include <sys/statfs.h>
#endif
#if ENABLE_SELINUX
#include <selinux/selinux.h>
#include <selinux/context.h>
@ -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);

View File

@ -137,19 +137,20 @@
/* ---- Networking ------------------------------------------ */
#ifndef __APPLE__
# include <arpa/inet.h>
# ifndef __socklen_t_defined
typedef int socklen_t;
# endif
#else
# include <netinet/in.h>
#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 <stdint.h>
#define HAVE_STDINT_H
#else
#elif !defined __APPLE__
/* Largest integral types. */
#if __BIG_ENDIAN__
typedef long intmax_t;