Bug#733598: Warn about packages shipping config.h in /usr/include/foo
Daniel Pocock <daniel@pocock.com.au> writes:
> Some packages ship an autotools config.h in /usr/include/foo/config.h
> Here is a list of such packages:
> http://packages.debian.org/search?searchon=contents&keywords=config.h&mode=exactfilename&suite=stable&arch=any
> This can cause problems if one autotools-based package A builds by using
> a dev package from another package B. Specifically, situations arise
> where config.h from A and B are both included in the same compiler
> invocation and warnings are generated about redefinitions of PACKAGE_NAME
A note for any eventual implementation: one has to check whether config.h
has this problem rather than relying on the file name, since some packages
install a mangled config.h that adds a package-specific prefix to the
#defines.
I'm aware of two major packages that have shipped Autoconf-style config.h
files without mangling for so long that they've probably become part of
the API and can't be changed except with a major API break (Apache and, to
a lesser extent, Perl, which doesn't use Autoconf but which exposes many
similar HAVE_* symbols that tend to conflict).
--
Russ Allbery (rra@debian.org) <http://www.eyrie.org/~eagle/>
Reply to: