On Sun, Jun 29, 2014 at 02:44:21AM +0900, Osamu Aoki wrote:
> Hi,
> 
> The path for the arch dependent header file seems to have several options.
> 
>  1) /usr/include/<multiarch>/*.h
>  2) /usr/include/<multiarch>/<packagename>/*.h
>  3) /usr/lib/<multiarch>/<packagename>/include/*.h
> 
> I would like to know rationale for each choice, especially between 2 and 3.

Choice 1 is just the default location for most headers.

Choice 2 is useful if you have multiple versions of the same library.
For example, you might want to have the headers for Ruby 2.0 and Ruby
2.1 installed at the same time.  They're going to ship mostly the same
headers, so putting them in different directories allows them to be
co-installable.  Some upstreams prefer this location.

Choice 3 is for private header files.  Most of Glib's headers are of
style 2, but it ships one file, which is autogenerated, in this location
because it's only intended to be called from other Glib header files.

This method is used because on distributions like CentOS that don't have
multiarch, these private header files often contain arch-dependent
configuration, so they are placed in /usr/lib or /usr/lib64 as
appropriate so that the 32-bit and 64-bit packages are co-installable.

-- 
brian m. carlson / brian with sandals: Houston, Texas, US
+1 832 623 2791 | http://www.crustytoothpaste.net/~bmc | My opinion only
OpenPGP: RSA v4 4096b: 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187

Attachment: signature.asc
Description: Digital signature

Reply via email to