Re: [PATCH 0/2] Modernize header checks

Eric Blake <[email protected]>
Newsgroups gmane.comp.sysutils.autoconf.patches
Organization Red Hat, Inc.
Message-ID <[email protected]>
On 05/31/2013 11:07 AM, Eric Blake wrote:
>> If so, note that removing strings.h from the list of headers that are
>> probed by default will cause backwards compatibility issues.  One still
>> must include strings.h (not string.h) according to POSIX in order to get
>> strcasecmp and friends, and some operating systems (specifically at least
>> some versions of FreeBSD) do actually enforce that and do not prototype
>> those functions in string.h.  I'm quite sure there is code out there that
>> assumes that Autoconf will probe for strings.h as a side effect of other
>> probes and set HAVE_STRINGS_H, and therefore doesn't probe for it
>> explicitly.  (I maintain some of it, in fact.)
> 
> Yes, there is a bunch of code that non-portably assumes they can use
> strcasecmp or ffs without including <strings.h>.  On the other hand,
> <strings.h> is available on pretty much ALL platforms that use free
> software compilers (according to gnulib, only ancient Minix 3.1.8 and
> non-free MSVC 9 have problems with assuming <strings.h> exists and is
> self-contained; but mingw does not have this issue).  Thus, you
> generally don't need to use HAVE_STRINGS_H, but can just blindly include
> it, unless your package is trying to be portable to a rather unforgiving
> toolchain.

That said, would it hurt if autoconf just unconditionally defined the
macros that were previously conditionally defined by a probe, so that
code that was relying on HAVE_STRINGS_H instead of blind inclusion will
still compile?

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc (application/pgp-signature, 621 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.13 (GNU/Linux)
Comment: Public key at http://people.redhat.com/eblake/eblake.gpg
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBCAAGBQJRqNuuAAoJEKeha0olJ0NqV1IIAKxwbdi5SYr/tUvx5iGlKaMC
Iguj45aFUNGK9PtvbmUUyPnro+n6NnBPhuqD8RGW29k7HGRMSOJ951RcaCDT3Te8
2e0PEoyHr8HFvMP5c/ymLyaqTirbJ0fgqLxaP6ls3/B2sMyrNCI8URmr8awyVJTh
BXBa+IsY84SO6yzwKmcZZYgTUY8G4dDzmrNcrx+cIuvLfiFUx/9CNCBmKtQAOxF5
FhIu2ybp1Y6k+CxTSO0o8sjk3TslZlotBYHZgnuTo1s8GkxD7d0xmCCYL3OcVkGb
9rPvOyJZLZBpQv4gmTjIjJlK66ojJIjbBWMoysM5TXzSLjM+5/v1kbFVj6mWa2E=
=sGKg
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.