[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: machine-dependent header installation path

From: Ralf Corsepius
Subject: Re: machine-dependent header installation path
Date: Sun, 18 May 2014 17:59:43 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0

On 05/18/2014 01:18 PM, Thomas Klausner wrote:

I'm co-developing libzip ( During configury, the
library detects types of sizes 8, 16, 32 and defines zip_{u,}intX_t
dependent on that, which is then used in all places that need fixed
sized integers.

These defines are saved in a file "zipconf.h" which is used by the
installed zip.h header file.

I remember reading years ago that such machine-dependent header files
should not be installed in include/, but below lib/, so that include/
can be shared between all kinds of machines. That's the reason
zipconf.h is currently installed into
$PREFIX/lib/libzip/include/zipconf.h. A pkg-config file helps users
find the library headers.

Ok, long story short: users are asking why we're installing in this
"weird" path, and I couldn't find the rationale I was remembering any
longer. Can you someone point me to it?

To cut a long story short: In a multilib'ed compilation environment all files below /usr/include must be identical on all architectures.

Or do I misremember or had misunderstood something? If so, what are
the current best practices for where to install such a header file?
${libdir}/<pkg>/<somewhere> is a perfectly suitable choice, because in a multilib'ed environment, ${libdir} is architecture-dependent.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]