features.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #ifndef __FEATURES_H
  2. #define __FEATURES_H
  3. /* Major and minor version number of the uClibc library package. Use
  4. these macros to test for features in specific releases. */
  5. #define __UCLIBC__ 0
  6. #define __UCLIBC_MAJOR__ 9
  7. #define __UCLIBC_MINOR__ 5
  8. /* Make a half-hearted attempt to accomodate non-gcc compilers */
  9. #ifndef __GNUC__
  10. #define __attribute(foo) /* Ignore */
  11. #endif
  12. /* __restrict is known in EGCS 1.2 and above. */
  13. #if !defined __GNUC__ || __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 92)
  14. # define __restrict /* Ignore */
  15. #endif
  16. #ifdef __STDC__
  17. #define __P(x) x
  18. #define __PMT(x) x
  19. #ifndef __const
  20. #define __const const
  21. #endif
  22. /* Almost ansi */
  23. #if __STDC__ != 1
  24. #ifndef const
  25. #define const
  26. #endif
  27. #define volatile
  28. #endif
  29. #else /* K&R */
  30. #define __P(x) ()
  31. #ifndef __const
  32. #define __const
  33. #endif
  34. #ifndef const
  35. #define const
  36. #endif
  37. #define volatile
  38. #endif
  39. /* No C++ */
  40. #define __BEGIN_DECLS
  41. #define __END_DECLS
  42. /* GNUish things */
  43. #define __CONSTVALUE
  44. #define __CONSTVALUE2
  45. #define __USE_BSD
  46. #define __USE_MISC
  47. #define __USE_POSIX
  48. #define __USE_POSIX2
  49. #define __USE_XOPEN
  50. #undef __KERNEL_STRICT_NAMES
  51. #ifndef _LOOSE_KERNEL_NAMES
  52. # define __KERNEL_STRICT_NAMES
  53. #endif
  54. #include <sys/cdefs.h>
  55. #endif