summaryrefslogtreecommitdiffstats
path: root/multiarch-dispatch.h
diff options
context:
space:
mode:
authorGwenolé Beauchesne <gbeauchesne@mandriva.org>2005-01-12 17:22:02 +0000
committerGwenolé Beauchesne <gbeauchesne@mandriva.org>2005-01-12 17:22:02 +0000
commitce5c270d5bce8ef9b9ff280338d577483bff03da (patch)
treee0239736b0ea4d11193de48bc1a94cebcf6f95c7 /multiarch-dispatch.h
parent3db240e64d3c941d2dcf6c1bce879922b28777d8 (diff)
downloadmultiarch-utils-topic/first-version.tar
multiarch-utils-topic/first-version.tar.gz
multiarch-utils-topic/first-version.tar.bz2
multiarch-utils-topic/first-version.tar.xz
multiarch-utils-topic/first-version.zip
Diffstat (limited to 'multiarch-dispatch.h')
-rw-r--r--multiarch-dispatch.h53
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