newlib: enable timeradd, timersub, and similar macros

This uses a hack (temporarily defining __rtems__ from a wrapper header
file) to include timeradd, timersub, and similar macros, without
modifying newlib headers.
This commit is contained in:
Ivan Grokhotkov 2019-03-08 15:16:26 +08:00
parent 76d4b0150d
commit ac612b5422

View file

@ -0,0 +1,17 @@
#pragma once
/* Newlib sys/time.h defines timerisset, timerclear, timercmp, timeradd, timersub macros
for __CYGWIN__ and __rtems__. We want to define these macros in IDF as well.
Since we wish to use un-modified newlib headers until a patched newlib version is
available, temporarily define __rtems__ here before including sys/time.h.
__rtems__ is chosen instead of __CYGWIN__ since there are no other checks in sys/time.h
which depend on __rtems__.
Also, so that __rtems__ define does not affect other headers included from sys/time.h,
we include them here in advance (_ansi.h and sys/types.h).
*/
#include <_ansi.h>
#include <sys/types.h>
#define __rtems__
#include_next <sys/time.h>
#undef __rtems__