include: provide MAP_ANONYMOUS on OSX

Hope there are no side effect when defining _DARWIN_C_SOURCE
globally.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
This commit is contained in:
Ruediger Meier 2016-02-18 16:37:13 +01:00
parent b0b24b11f8
commit 40733239a7
2 changed files with 14 additions and 0 deletions

View File

@ -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_<NAME> conditionals
UL_SET_ARCH([I86], [i?86-*])

View File

@ -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 */