gresource: libelf, try pkg-config first then fall-back to AC_CHECK_LIB
authorAntoine Jacoutot <ajacoutot@gnome.org>
Sat, 31 Mar 2012 18:20:19 +0000 (20:20 +0200)
committerAntoine Jacoutot <ajacoutot@gnome.org>
Sat, 31 Mar 2012 18:22:51 +0000 (20:22 +0200)
On some systems gelf.h may not be stored under the top level include
directory in which case we need to add the correct include paths in
cflags by using pkg-config(1).

configure.ac
gio/Makefile.am

index 82d74c6..7c7b814 100644 (file)
@@ -1799,12 +1799,13 @@ dnl ************************
 dnl *** check for libelf ***
 dnl ************************
 
-AC_CHECK_LIB([elf], [elf_begin], have_libelf=yes, have_libelf=no)
+PKG_CHECK_MODULES([LIBELF], [libelf], [have_libelf=yes], [
+  AC_CHECK_LIB([elf], [elf_begin], have_libelf=yes, have_libelf=no)
+  ])
 if test $have_libelf = yes; then
   AC_DEFINE(HAVE_LIBELF, 1, [Define if libelf is available])
-  ELF_LIBS=-lelf
+  LIBELF_LIBS=-lelf
 fi
-AC_SUBST(ELF_LIBS)
 
 dnl ****************************************
 dnl *** platform dependent source checks ***
index 69db690..7bc53a6 100644 (file)
@@ -704,10 +704,11 @@ EXTRA_DIST += $(completion_DATA)
 
 bin_PROGRAMS += gresource
 gresource_SOURCES = gresource-tool.c
+gresource_CPPFLAGS = $(LIBELF_CFLAGS) $(AM_CPPFLAGS)
 gresource_LDADD = libgio-2.0.la \
        $(top_builddir)/glib/libglib-2.0.la             \
        $(top_builddir)/gobject/libgobject-2.0.la \
-       $(ELF_LIBS)
+       $(LIBELF_LIBS)
 
 # ------------------------------------------------------------------------