<div dir="ltr"><div><div class="gmail_extra"><div class="gmail_quote">On Sat, Aug 30, 2014 at 10:30 AM, Rolf Eike Beer <span dir="ltr"><<a href="mailto:eike@sf-mail.de" target="_blank">eike@sf-mail.de</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> # Checks for typedefs, structures, and compiler characteristics.<br><div>
> #AC_C_CONST<br>
> #AC_C_INLINE<br>
...<br>
> #AC_TYPE_SIZE_T<br>
... <br></div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="">> #AC_C_RESTRICT<br>
> #AC_C_VOLATILE<br></div></blockquote><div><br></div><div>These should be generally safe to assume<br><br><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">



> #AC_STRUCT_TM<br>
> #AC_HEADER_TIME<br></blockquote><div><br></div><div>Unless you're targeting 
embedded systems and / or microcontrollors then you shouldn't have a 
problem with these either, even still there's a good chance you'd have 
it.<br></div> <br></div><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> #AC_TYPE_INT16_T<br>
> #AC_TYPE_INT32_T<br>
> #AC_TYPE_INT64_T<br>
> #AC_TYPE_INT8_T<br>
> #AC_TYPE_UINT16_T<br>
> #AC_TYPE_UINT32_T<br>
> #AC_TYPE_UINT64_T<br>
> #AC_TYPE_UINT8_T<br>
<br>
This is basically "is there a usable <stdint.h>" or <cstdint>. The latter you<br>
will find in newer versions of MSVC and everything else that understands recent<br>
C++, the former in every compiler supporting at least a decent level of C99,<br>
which _excludes_ MSVC for policy reasons that even MS will probably find hard<br>
to explain. So you usually don't check for these types but for the header.<br></blockquote><div><br></div><div>Ugh, this is definitely one of those irritating Windows-isms. cstdint is guaranteed available in C++11, so if you require that then most of this goes away. stdint.h, as Rolf mentioned, wasn't available until VS2010, so if you can place that as a requirement then you're all set. You can restrict this in your top level cmake with something like this:<br>

</div><br></div><div class="gmail_quote"><span style="font-family:courier new,monospace">if(MSVC_VERSION LESS 1700)<br></span></div><div class="gmail_quote"><span style="font-family:courier new,monospace">  message(FATAL_ERROR "Only Visual C++ 2010 or greater is supported")<br>

</span></div><div class="gmail_quote"><span style="font-family:courier new,monospace">endif()<br></span><br>However, if you do have to support older MSVC versions then this is a problem and you will need to either redefine the types or include your own stdint.h (bringing the header is usally easier),
 a commonly used one by numerous projects for porting unix -> windows
 can be found here: 
<a href="https://code.google.com/p/msinttypes/source/browse/trunk/stdint.h">https://code.google.com/p/msinttypes/source/browse/trunk/stdint.h</a>.<br></div></div></div></div>