diff options
Diffstat (limited to 'multiarch-dispatch.h')
-rw-r--r-- | multiarch-dispatch.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/multiarch-dispatch.h b/multiarch-dispatch.h new file mode 100644 index 0000000..75f6a50 --- /dev/null +++ b/multiarch-dispatch.h @@ -0,0 +1,53 @@ +/* Undefine some built-ins */ +#ifdef linux +#undef linux +#define _multiarch_defined_linux +#endif +#ifdef i386 +#undef i386 +#define _multiarch_defined_i386 +#endif +#ifdef sparc +#undef sparc +#define _multiarch_defined_sparc +#endif + +/* Dispatch arch dependent header */ +#define _MULTIARCH_MAKE_HEADER(arch,header) <multiarch-arch-linux/header> +#if defined(__x86_64__) +#include _MULTIARCH_MAKE_HEADER(x86_64,_MULTIARCH_HEADER) +#elif defined(__i386__) +#include _MULTIARCH_MAKE_HEADER(i386,_MULTIARCH_HEADER) +#elif defined(__powerpc64__) +#include _MULTIARCH_MAKE_HEADER(ppc64,_MULTIARCH_HEADER) +#elif defined(__powerpc__) +#include _MULTIARCH_MAKE_HEADER(ppc,_MULTIARCH_HEADER) +#elif defined(__sparc_v9__) +#include _MULTIARCH_MAKE_HEADER(sparc64,_MULTIARCH_HEADER) +#elif defined(__sparc__) +#include _MULTIARCH_MAKE_HEADER(sparc,_MULTIARCH_HEADER) +#elif defined(__s390x__) +#include _MULTIARCH_MAKE_HEADER(s390x,_MULTIARCH_HEADER) +#elif defined(__s390__) +#include _MULTIARCH_MAKE_HEADER(s390,_MULTIARCH_HEADER) +#elif defined(__ia64__) +#include _MULTIARCH_MAKE_HEADER(ia64,_MULTIARCH_HEADER) +#elif defined(__alpha__) +#include _MULTIARCH_MAKE_HEADER(alpha,_MULTIARCH_HEADER) +#endif +#undef _MULTIARCH_MAKE_HEADER +#undef _MULTIARCH_HEADER + +/* Redefine built-ins */ +#ifdef _multiarch_defined_linux +#undef _multiarch_defined_linux +#define linux 1 +#endif +#ifdef _multiarch_defined_i386 +#undef _multiarch_defined_i386 +#define i386 1 +#endif +#ifdef _multiarch_defined_sparc +#undef _multiarch_defined_sparc +#define sparc 1 +#endif |