diff --git a/include/posix/time.h b/include/posix/time.h index 169bd73d7d8..72b3b8b386b 100644 --- a/include/posix/time.h +++ b/include/posix/time.h @@ -10,7 +10,30 @@ extern "C" { #endif +#ifdef CONFIG_NEWLIB_LIBC +/* Kludge to support outdated newlib version as used in SDK 0.10 for Xtensa */ +#include + +#ifdef __NEWLIB__ +/* Newever Newlib 3.x+ */ #include +#else +/* Workaround for older Newlib 2.x, as used by Xtensa. It lacks sys/_timeval.h, + * so mimic it here. + */ +#include +#ifndef __timespec_defined +struct timespec { + time_t tv_sec; + long tv_nsec; +}; +#endif +#endif + +#else +/* Not Newlib */ +#include +#endif /* CONFIG_NEWLIB_LIBC */ /* Older newlib's like 2.{0-2}.0 don't define any newlib version defines, only * __NEWLIB_H__ so we use that to decide if itimerspec was defined in