From: Ruediger Meier Date: Thu, 18 Feb 2016 15:37:13 +0000 (+0100) Subject: include: provide MAP_ANONYMOUS on OSX X-Git-Tag: v2.28-rc1~85^2~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=40733239a79b5fd1c761e03942044a1b5a39bc36;p=thirdparty%2Futil-linux.git include: provide MAP_ANONYMOUS on OSX Hope there are no side effect when defining _DARWIN_C_SOURCE globally. Signed-off-by: Ruediger Meier --- diff --git a/configure.ac b/configure.ac index 17917af7b6..5cee8cfa4c 100644 --- a/configure.ac +++ b/configure.ac @@ -158,11 +158,17 @@ bsd_os=no AS_CASE([${host_os}], [*linux*], [linux_os=yes], + [*darwin*], + [darwin_os=yes], [*bsd*], [bsd_os=yes]) AM_CONDITIONAL([LINUX], [test "x$linux_os" = xyes]) +AM_CONDITIONAL([DARWIN], [test "x$darwin_os" = xyes]) AM_CONDITIONAL([BSD], [test "x$bsd_os" = xyes]) +AS_IF([test "x$darwin_os" = xyes], [ + AC_DEFINE([_DARWIN_C_SOURCE], [1], [Enable MAP_ANON in sys/mman.h on Mac OS X]) +]) dnl define ARCH_ conditionals UL_SET_ARCH([I86], [i?86-*]) diff --git a/include/c.h b/include/c.h index ca028baeee..aec34394d1 100644 --- a/include/c.h +++ b/include/c.h @@ -355,4 +355,12 @@ static inline int xusleep(useconds_t usec) */ #define UL_GETPW_BUFSIZ (16 * 1024) +/* + * Darwin or other BSDs may only have MAP_ANON. To get it on Darwin we must + * define _DARWIN_C_SOURCE before including sys/mman.h. We do this in config.h. + */ +#if !defined MAP_ANONYMOUS && defined MAP_ANON +# define MAP_ANONYMOUS (MAP_ANON) +#endif + #endif /* UTIL_LINUX_C_H */