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

Kevin Funk <[email protected]> Fri, 21 Mar 2014 19:21:52 +0100
Newsgroups gmane.comp.video.graphviz
Message-ID <3753296.9KcHXsauH5@kerberos>
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? :)

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.

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.

> 
> Thanks.
> 
>       Emden

Greets

[1] http://www.graphviz.org/Download_windows.php

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