[glib] Rework the libelf configure checks one more time
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] Rework the libelf configure checks one more time
- Date: Mon, 2 Apr 2012 13:08:58 +0000 (UTC)
commit 27d95bd81fabd41367cf000566ee2ccf3651652c
Author: Matthias Clasen <mclasen redhat com>
Date: Mon Apr 2 08:53:20 2012 -0400
Rework the libelf configure checks one more time
It seems that there is quite a bit of variation out there, in
terms of libelf versions and API. Make the checks more thorough,
by not only checking for elf_begin, but also some of the shdr function
that we need. Also, explicitly check for libelf.h.
This should address bug 673132 and 673253.
configure.ac | 18 ++++++++++++++----
1 files changed, 14 insertions(+), 4 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 7c7b814..9a40961 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1799,12 +1799,22 @@ dnl ************************
dnl *** check for libelf ***
dnl ************************
-PKG_CHECK_MODULES([LIBELF], [libelf], [have_libelf=yes], [
- AC_CHECK_LIB([elf], [elf_begin], have_libelf=yes, have_libelf=no)
- ])
+PKG_CHECK_MODULES([LIBELF], [libelf], [have_libelf=yes], [have_libelf=maybe])
+
+if test $have_libelf = maybe; then
+ AC_CHECK_LIB([elf], [elf_begin], , [have_libelf=no])
+ AC_CHECK_LIB([elf], [elf_getshdrstrndx], , [have_libelf=no])
+ AC_CHECK_LIB([elf], [elf_getshdrnum], , [have_libelf=no])
+ AC_CHECK_HEADER([libelf.h], , [have_libelf=no])
+
+ if test $have_libelf != no; then
+ LIBELF_LIBS=-lelf
+ have_libelf = yes
+ fi
+fi
+
if test $have_libelf = yes; then
AC_DEFINE(HAVE_LIBELF, 1, [Define if libelf is available])
- LIBELF_LIBS=-lelf
fi
dnl ****************************************
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]