_NEWLIB_VERSION exposure through sys/cdefs.h

Jonathan Roelofs jonathan@codesourcery.com
Wed Sep 17 21:09:00 GMT 2014


In libc++, we'd like to be able to tell when the underlying libc is Newlib. At 
the moment, that requires us to do things like this:

#if defined(__has_include) && __has_include(<newlib.h>)
#include <newlib.h>
#if defined(_NEWLIB_VERSION)

The problem with that strategy is that it does not work when using gcc, as it 
doesn't have __has_include support yet.  It came up in discussion that 
sys/cdefs.h might be the right place for that, as that's where glibc puts __GLIBC__.

Would there be an objection to #include <newlib.h> from sys/cdefs.h?  Is there a 
better way to detect Newlib that I've overlooked?



Jon Roelofs
CodeSourcery / Mentor Embedded

More information about the Newlib mailing list