Architecture specific header files

Björn Persson bjorn at
Tue Jun 25 20:37:25 UTC 2013

Petr Pisar wrote:
> On 2013-06-25, Vít Ondruch <vondruch at> wrote:
> > Is there some common practice, where to place architecture specific 
> > header files? From output of the following command, I can't see any
> > such place.
> >
> I dont't think so. SDL moves architecture specific header file into
> a private directory:
> # Rename SDL_config.h to SDL_config-<arch>.h to avoid file conflicts
> on # multilib systems and install SDL_config.h wrapper
> mv %{buildroot}/%{_includedir}/SDL/SDL_config.h
> %{buildroot}/%{_includedir}/SDL/SDL_config-%{_arch}.h
> install -m644 %{SOURCE1} %{buildroot}/%{_includedir}/SDL/SDL_config.h
> And installs a wrapper (SOURCE1) to replace the original location. The
> wrapper is just a bunch of #if branches:
> #if defined(__i386__)
> #include "SDL_config-i386.h"
> #elif defined(__ia64__)
> #include "SDL_config-ia64.h"
> [...]
> #endif

As another example, Glib puts an architecture-specific header under
libdir and expects you to use pkg-config to make the compiler find it:

$ rpmls glib2-devel | egrep 'glibconfig.h|glib-2.0.pc'
-rw-r--r--  /usr/lib64/glib-2.0/include/glibconfig.h
-rw-r--r--  /usr/lib64/pkgconfig/glib-2.0.pc
-rw-r--r--  /usr/lib/glib-2.0/include/glibconfig.h
-rw-r--r--  /usr/lib/pkgconfig/glib-2.0.pc
$ pkg-config --cflags glib-2.0 
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include

Björn Persson
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: not available
URL: <>

More information about the devel mailing list