Re: [graphviz-interest] About ifdefs for custom defines in public headers (e.g. HAVE_STRING_H in cdt.h)

"Emden R. Gansner" <[email protected]> Fri, 21 Mar 2014 15:33:44 -0400
Newsgroups gmane.comp.video.graphviz
Message-ID <[email protected]>
On 3/21/14 2:21 PM, Kevin Funk wrote:
> On Friday 21 March 2014 09:25:22 Emden R. Gansner wrote:
>> On 3/20/14 3:49 PM, Emden R. Gansner wrote:
>>> It's a fair cop. Presumably cdt.h could just do an unconditional
>>> include of string.h, in which case the check for config.h is also
>>> unnecessary.
>> By the way, you also note that "Unfortunately Graphviz's headers are
>> totally broken". We would appreciate it if you
>> would let us know what else is causing problems so we can fix them. One
>> of my pet irritations is when people post
>> complaints or bugs concerning Graphviz on some random forum instead of
>> contacting us, so we only find out about
>> them by chance months or years later.
> Hm? What is it what I'm doing by raising the issue on your list? :)
Your original remark was posted a month ago, but I do appreciate your 
contacting us.
> Admittedly, "totally broken" is exaggerated. But the headers as-they-are are
> not really usable for external users, unfortunately.
>
> Note: The proper fix would be to introduce a non-public header that contains
> the code around #ifdef HAVE_STRING_H\n...\n#endif, which users of memcmp and
> friends can include in their implementation files. So you avoid the problem of
> having these kind of checks inside public headers.
So we have determined that one header had a problem introduced 6 months 
which is now fixed.
> By the way:
> I've just found another problem for the Windows ZIP you're shipping on your
> website [1]: There, types.h includes 'textspan.h', which isn't provided by the
> ZIP file. => Compilation of types.h will fail.
>
> Looks like a packaging problem.
>
>
Fixed about 2 weeks ago.

     Emden

_______________________________________________
[email protected]
http://lists.research.att.com/mailman/listinfo/graphviz-interest