summaryrefslogtreecommitdiff
path: root/toolchain/musl/include/features.h
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2014-06-09 13:47:36 +0000
committerFelix Fietkau <nbd@openwrt.org>2014-06-09 13:47:36 +0000
commitd2675afeccc759c025a559e815c6e69ea2255b64 (patch)
tree9ac4d14b9e79146829e283e35071e92bd5bd25dd /toolchain/musl/include/features.h
parent9c40648f3a40e50b426c424b67b04c71e3eac2e1 (diff)
downloadmtk-20170518-d2675afeccc759c025a559e815c6e69ea2255b64.zip
mtk-20170518-d2675afeccc759c025a559e815c6e69ea2255b64.tar.gz
mtk-20170518-d2675afeccc759c025a559e815c6e69ea2255b64.tar.bz2
musl: install a few extra headers to improve compatibility with various packages
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 41056
Diffstat (limited to 'toolchain/musl/include/features.h')
-rw-r--r--toolchain/musl/include/features.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/toolchain/musl/include/features.h b/toolchain/musl/include/features.h
new file mode 100644
index 0000000..df54c16
--- /dev/null
+++ b/toolchain/musl/include/features.h
@@ -0,0 +1,56 @@
+#ifndef _FEATURES_H
+#define _FEATURES_H
+
+#ifdef _ALL_SOURCE
+#define _GNU_SOURCE 1
+#endif
+
+#if !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) \
+ && !defined(_XOPEN_SOURCE) && !defined(_GNU_SOURCE) \
+ && !defined(_BSD_SOURCE) && !defined(__STRICT_ANSI__)
+#define _BSD_SOURCE 1
+#define _XOPEN_SOURCE 700
+#endif
+
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
+#if __STDC_VERSION__ >= 199901L || defined(__cplusplus)
+#define __inline inline
+#endif
+
+#if __STDC_VERSION__ >= 201112L
+#elif defined(__GNUC__)
+#define _Noreturn __attribute__((__noreturn__))
+#else
+#define _Noreturn
+#endif
+
+/* Convenience macros to test the versions of glibc and gcc.
+ Use them like this:
+ #if __GNUC_PREREQ (2,8)
+ ... code requiring gcc 2.8 or later ...
+ #endif
+ Note - they won't work for gcc1 or glibc1, since the _MINOR macros
+ were not defined then. */
+#if defined __GNUC__ && defined __GNUC_MINOR__
+# define __GNUC_PREREQ(maj, min) \
+ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
+#else
+# define __GNUC_PREREQ(maj, min) 0
+#endif
+
+#if !defined __FORCE_NOGLIBC && (!defined _LIBC || defined __FORCE_GLIBC)
+#undef __GNU_LIBRARY__
+#define __GNU_LIBRARY__ 6
+
+#define __GLIBC__ 2
+#define __GLIBC_MINOR__ 16
+#endif
+
+#include <sys/glibc-types.h>
+
+#endif