multiarch header file wrappers and ARM

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

 



Hi,

A number of packages have multilib header file wrappers such as
this one (blkid_types.h from e2fsprogs):

	/* This file is here to prevent a file conflict on multiarch systems. A
	 * conflict will occur because blkid_types.h has arch-specific definitions.
	 *
	 * DO NOT INCLUDE THE NEW FILE DIRECTLY -- ALWAYS INCLUDE THIS ONE INSTEAD. */

	#if defined(__i386__)
	#include "blkid_types-i386.h"
	#elif defined(__ia64__)
	#include "blkid_types-ia64.h"
	#elif defined(__powerpc64__)
	#include "blkid_types-ppc64.h"
	#elif defined(__powerpc__)
	#include "blkid_types-ppc.h"
	#elif defined(__s390x__)
	#include "blkid_types-s390x.h"
	#elif defined(__s390__)
	#include "blkid_types-s390.h"
	#elif defined(__x86_64__)
	#include "blkid_types-x86_64.h"
	#elif defined(__alpha__)
	#include "blkid_types-alpha.h"
	#else
	#error "This e2fsprogs-devel package does not work your architecture?"
	#endif

It seems that most of such header files are (directly or indirectly)
copied from some original example that didn't test for ARM, and so,
a couple of examples in the distro right now lack the proper definitions
for ARM, causing ARM to end up with unusable -devel packages.

On ARM, the preprocessor symbol __arm__ is defined, and %{_arch} is
set to 'arm', so something like this will work:

	 #if defined(__i386__)
	 #include "blkid_types-i386.h"
	+#elif defined(__arm__)
	+#include "blkid_types-arm.h"
	 #elif defined(__ia64__)
	 #include "blkid_types-ia64.h"
	 #elif defined(__powerpc64__)

If you have such a construct in your package, please consider adding
the relevant __arm__ bits.


thanks,
Lennert

-- 
fedora-devel-list mailing list
fedora-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-devel-list

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux