On Fri, Jun 15, 2007 at 09:03:42AM -0400, Daniel Veillard wrote: > On Fri, Jun 15, 2007 at 01:59:41PM +0100, Daniel P. Berrange wrote: > > On Fri, Jun 15, 2007 at 09:06:55AM +0100, Richard W.M. Jones wrote: > > > Daniel P. Berrange wrote: > > > >On Thu, Jun 14, 2007 at 05:26:39PM -0400, Mark Johnson wrote: > > > >>This patch has the includes need to build on Solaris. > > > >>I've been using ifdef linux & ifndef linux to distinguish > > > >>between solaris and linux at this point. > > > > > > > >Looks ok aside from > > > [..] > > > > > > No, I don't agree. We should use configure.in to test for the presence > > > of header files and then do things like: > > > > > > #ifdef HAVE_STRINGS_H > > > #include <strings.h> > > > #endif > > > > For strings.h I don't see the point in making it conditional really, unless > > we're going to do the same for every single other header we include. The > > strings.h header is always present on Linux. In recent times stuff that was > > previously in strings.h has moved to string.h, but they're still in the > > original header too. So we should always include both string.h & strings.h > > for maximum portability. > > Hum, I don't think they are really the same. In libxml2 I do a configure > test for HAVE_STRINGS_H but string.h is included without checks in a lot of > places. They're not the same - I string.h is a superset of strings.h on Linux, but on other places they're disjoint sets. Comment in strings.h... /* We don't need and should not read this file if <string.h> was already read. The one exception being that if __USE_BSD isn't defined, then these aren't defined in string.h, so we need to define them here. */ Dan. -- |=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=| |=- Perl modules: http://search.cpan.org/~danberr/ -=| |=- Projects: http://freshmeat.net/~danielpb/ -=| |=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|