#endif
#if !defined (HAVE_REWIND) || \
- !defined (HAVE_GETDELIM) || \
- defined (__APPLE__)
+ !defined (HAVE_GETDELIM)
# include <stdio.h> /* FILE */
#endif
-#if !defined (HAVE_STRLCPY) || \
+#if !defined (HAVE_POSIX_MEMALIGN) || \
+ !defined (HAVE_STRLCPY) || \
!defined (HAVE_STRNDUP) || \
!defined (HAVE_STRNLEN)
# include <stddef.h> /* size_t */
# include <stdarg.h> /* va_list */
#endif
-#if !defined (HAVE_GETDELIM) || defined (__APPLE__) || \
+#if !defined (HAVE_GETDELIM) || \
!defined (HAVE_GETPID) || \
!defined (HAVE_SWAB)
# include <sys/types.h> /* ssize_t, pid_t */
int putchar_unlocked (int);
#endif
-/* we always need our implementation on Darwin, since native support for getline
- * was added lately to Darwin 11 (OS X Lion) only.
- * However, we want binaries created on this OS to be executable on previous
- * releases. */
-#if !defined HAVE_GETDELIM
+#ifndef HAVE_GETDELIM
ssize_t getdelim (char **, size_t *, int, FILE *);
ssize_t getline (char **, size_t *, FILE *);
#endif
int strncasecmp (const char *, const char *, size_t);
#endif
+#ifndef HAVE_STRVERSCMP
+int strverscmp (const char *, const char *);
+#endif
+
#ifndef HAVE_STRNLEN
size_t strnlen (const char *, size_t);
#endif
int unsetenv (const char *);
#endif
+#ifndef HAVE_POSIX_MEMALIGN
+int posix_memalign (void **, size_t, size_t);
+#endif
+
/* locale.h */
#ifndef HAVE_USELOCALE
#define LC_NUMERIC_MASK 0
}
#endif
+#if !defined (HAVE_STATIC_ASSERT)
+# define _Static_assert(x, s) ((void) sizeof (struct { unsigned:-!(x); }))
+# define static_assert _Static_assert
+#endif
+
/* Alignment of critical static data structures */
#ifdef ATTRIBUTE_ALIGNED_MAX
# define ATTR_ALIGN(align) __attribute__ ((__aligned__ ((ATTRIBUTE_ALIGNED_MAX < align) ? ATTRIBUTE_ALIGNED_MAX : align)))
unsigned revents;
};
#endif
+#ifndef HAVE_POLL
+struct pollfd;
+int poll (struct pollfd *, unsigned, int);
+#endif
#ifndef HAVE_IF_NAMEINDEX
#include <errno.h>
long nrand48 (unsigned short subi[3]);
#endif
-#ifdef __ANDROID__
-# undef __linux__
-# ifndef __cplusplus
-# define __cplusplus 0
-# endif
-# include <pthread.h>
-# if __cplusplus == 0
-# undef __cplusplus
-# endif
-char *tempnam(const char *, const char *);
-#endif // ANDROID
-
#ifdef __OS2__
# undef HAVE_FORK /* Implementation of fork() is imperfect on OS/2 */
#endif