summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArun Sharma <aruns@google.com>2009-04-13 12:00:31 -0700
committerArun Sharma <aruns@google.com>2009-04-13 12:00:31 -0700
commitb483ea3f0e16760c75045042f25372a50527d30f (patch)
tree1c123959c84134aec9de014e523c9ab35be851f3
parent6aec15799d0572a484065aed3d97317df0702b17 (diff)
downloadlibunwind-b483ea3f0e16760c75045042f25372a50527d30f.tar.gz
Multilib support.
This is useful when packaging for multiple target architectures. Signed-off-by: Jan Kratochvil <jan.kratochvil@redhat.com>
-rw-r--r--Makefile.am6
-rw-r--r--configure.in2
-rw-r--r--include/libunwind.h22
-rw-r--r--include/tdep/dwarf-config.h22
-rw-r--r--include/tdep/jmpbuf.h22
-rw-r--r--include/tdep/libunwind_i.h22
6 files changed, 91 insertions, 5 deletions
diff --git a/Makefile.am b/Makefile.am
index 0c68c6d1..61f4fb96 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -59,6 +59,6 @@ EXTRA_DIST = include/dwarf.h include/dwarf_i.h include/dwarf-eh.h \
include/tdep-x86_64/jmpbuf.h include/tdep-x86_64/dwarf-config.h \
include/libunwind-ppc64.h include/tdep-ppc64/dwarf-config.h \
include/tdep-ppc32/jmpbuf.h include/tdep-ppc32/libunwind_i.h \
- include/tdep-ppc64/jmpbuf.h include/tdep-ppc64/libunwind_i.h
-
-DISTCLEANFILES = include/libunwind.h include/tdep
+ include/tdep-ppc64/jmpbuf.h include/tdep-ppc64/libunwind_i.h \
+ include/libunwind.h include/tdep/libunwind_i.h \
+ include/tdep/jmpbuf.h include/tdep/dwarf-config.h
diff --git a/configure.in b/configure.in
index 9ffaba57..1271a560 100644
--- a/configure.in
+++ b/configure.in
@@ -109,8 +109,6 @@ fi
if test x$target_arch != x$host_arch; then
CPPFLAGS="${CPPFLAGS} -DUNW_REMOTE_ONLY"
fi
-AC_CONFIG_LINKS(include/libunwind.h:include/libunwind-$target_arch.h
- include/tdep:include/tdep-$target_arch)
AC_ARG_ENABLE(debug,
[ --enable-debug turn on debug support (slows down execution)],
diff --git a/include/libunwind.h b/include/libunwind.h
new file mode 100644
index 00000000..c86216a4
--- /dev/null
+++ b/include/libunwind.h
@@ -0,0 +1,22 @@
+/* Provide a real file - not a symlink - as it would cause multiarch conflicts
+ when multiple different arch releases are installed simultaneously. */
+
+#if defined __arm__
+# include "libunwind-arm.h"
+#elif defined __hppa__
+# include "libunwind-hppa.h"
+#elif defined __ia64__
+# include "libunwind-ia64.h"
+#elif defined __mips__
+# include "libunwind-mips.h"
+#elif defined __powerpc__ && !defined __powerpc64__
+# include "libunwind-ppc32.h"
+#elif defined __powerpc64__
+# include "libunwind-ppc64.h"
+#elif defined __i386__
+# include "libunwind-x86.h"
+#elif defined __x86_64__
+# include "libunwind-x86_64.h"
+#else
+# error "Unsupported arch"
+#endif
diff --git a/include/tdep/dwarf-config.h b/include/tdep/dwarf-config.h
new file mode 100644
index 00000000..ab36637b
--- /dev/null
+++ b/include/tdep/dwarf-config.h
@@ -0,0 +1,22 @@
+/* Provide a real file - not a symlink - as it would cause multiarch conflicts
+ when multiple different arch releases are installed simultaneously. */
+
+#if defined __arm__
+# include "tdep-arm/dwarf-config.h"
+#elif defined __hppa__
+# include "tdep-hppa/dwarf-config.h"
+#elif defined __ia64__
+# include "tdep-ia64/dwarf-config.h"
+#elif defined __mips__
+# include "tdep-mips/dwarf-config.h"
+#elif defined __powerpc__ && !defined __powerpc64__
+# include "tdep-ppc32/dwarf-config.h"
+#elif defined __powerpc64__
+# include "tdep-ppc64/dwarf-config.h"
+#elif defined __i386__
+# include "tdep-x86/dwarf-config.h"
+#elif defined __x86_64__
+# include "tdep-x86_64/dwarf-config.h"
+#else
+# error "Unsupported arch"
+#endif
diff --git a/include/tdep/jmpbuf.h b/include/tdep/jmpbuf.h
new file mode 100644
index 00000000..e3cda319
--- /dev/null
+++ b/include/tdep/jmpbuf.h
@@ -0,0 +1,22 @@
+/* Provide a real file - not a symlink - as it would cause multiarch conflicts
+ when multiple different arch releases are installed simultaneously. */
+
+#if defined __arm__
+# include "tdep-arm/jmpbuf.h"
+#elif defined __hppa__
+# include "tdep-hppa/jmpbuf.h"
+#elif defined __ia64__
+# include "tdep-ia64/jmpbuf.h"
+#elif defined __mips__
+# include "tdep-mips/jmpbuf.h"
+#elif defined __powerpc__ && !defined __powerpc64__
+# include "tdep-ppc32/jmpbuf.h"
+#elif defined __powerpc64__
+# include "tdep-ppc64/jmpbuf.h"
+#elif defined __i386__
+# include "tdep-x86/jmpbuf.h"
+#elif defined __x86_64__
+# include "tdep-x86_64/jmpbuf.h"
+#else
+# error "Unsupported arch"
+#endif
diff --git a/include/tdep/libunwind_i.h b/include/tdep/libunwind_i.h
new file mode 100644
index 00000000..cd8c2bff
--- /dev/null
+++ b/include/tdep/libunwind_i.h
@@ -0,0 +1,22 @@
+/* Provide a real file - not a symlink - as it would cause multiarch conflicts
+ when multiple different arch releases are installed simultaneously. */
+
+#if defined __arm__
+# include "tdep-arm/libunwind_i.h"
+#elif defined __hppa__
+# include "tdep-hppa/libunwind_i.h"
+#elif defined __ia64__
+# include "tdep-ia64/libunwind_i.h"
+#elif defined __mips__
+# include "tdep-mips/libunwind_i.h"
+#elif defined __powerpc__ && !defined __powerpc64__
+# include "tdep-ppc32/libunwind_i.h"
+#elif defined __powerpc64__
+# include "tdep-ppc64/libunwind_i.h"
+#elif defined __i386__
+# include "tdep-x86/libunwind_i.h"
+#elif defined __x86_64__
+# include "tdep-x86_64/libunwind_i.h"
+#else
+# error "Unsupported arch"
+#endif