Author: metze
Date: 2007-09-15 19:14:49 +0000 (Sat, 15 Sep 2007)
New Revision: 25179

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=25179

Log:
fix libunwind detection on x86 based hosts
we need -lunwind-x86 not -lunwind-i686

metze
Modified:
   branches/SAMBA_3_2/source/configure.in


Changeset:
Modified: branches/SAMBA_3_2/source/configure.in
===================================================================
--- branches/SAMBA_3_2/source/configure.in      2007-09-15 19:04:36 UTC (rev 
25178)
+++ branches/SAMBA_3_2/source/configure.in      2007-09-15 19:14:49 UTC (rev 
25179)
@@ -702,6 +702,10 @@
 AC_MSG_CHECKING(uname -p)
 AC_MSG_RESULT(${UNAME_P})
 
+UNAME_I=`(uname -i) 2>/dev/null` || UNAME_I="unknown"
+AC_MSG_CHECKING(uname -i)
+AC_MSG_RESULT(${UNAME_I})
+
 dnl Add #include for broken IRIX header files
   case "$host_os" in
        *irix6*)
@@ -1401,15 +1405,33 @@
 # any of them.
 AC_MSG_CHECKING([for libunwind])
 save_LIBS=$LIBS
-if test x"$UNAME_P" = xunknown ; then
-    # This probably won't link without the platform-specific libunwind.
-    LIBS="$LIBS -lunwind"
-else
-    # Add the platform-specific libunwind module. uname -p seems the most
-    # plausible option and works for ia64, where libunwind is most useful.
-    LIBS="$LIBS -lunwind -lunwind-$UNAME_P"
+
+UNWIND_ARCH="unknown"
+if test x"$UNAME_I" != x"unknown"; then
+       UNWIND_ARCH="$UNAME_I"
+elif test x"$UNAME_M" != x"unknown"; then
+       UNWIND_ARCH="$UNAME_M"
+elif test x"$UNAME_P" != x"unknown"; then
+       UNWIND_ARCH="$UNAME_P"
 fi
 
+case "$UNWIND_ARCH" in
+       unknown)
+               # This probably won't link without
+               # the platform-specific libunwind.
+               LIBS="$LIBS -lunwind"
+               ;;
+       i386|i586|i686)
+               # Add the platform-specific libunwind module.
+               LIBS="$LIBS -lunwind -lunwind-x86"
+               ;;
+       *)
+               # Add the platform-specific libunwind module.
+               # based on uname -i, uname -m or uname -p
+               LIBS="$LIBS -lunwind -lunwind-$UNWIND_ARCH"
+               ;;
+esac
+
 AC_TRY_LINK(
     [
 #ifdef HAVE_LIBUNWIND_H

Reply via email to