[Mesa-dev] [PATCH] configure: check for dladdr via AC_CHECK_FUNC/AC_CHECK_LIB

Jon TURNEY jon.turney at dronecode.org.uk
Fri Aug 8 12:09:25 PDT 2014


On 08/08/2014 18:58, Ilia Mirkin wrote:
> The problem is that AC_CHECK_FUNCS would stick the LDFLAGS before the
> conftest.c arg while AC_CHECK_LIB sticks the -ldl after conftest.c.
> This apparently matters with newer gcc's. There's probably some

The key difference seems to be that lto was enabled, which I guess means 
we can't get away with listing objects in a random order :-)

> correct autoconf way of dealing with it, but... this works :)

I think I have used LDFLAGS here where I should have used LIBS.

So the more correct way is something like:

diff --git a/configure.ac b/configure.ac
index 96a67a3..bba64a0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -535,9 +535,10 @@ AC_CHECK_FUNC([dlopen], [DEFINES="$DEFINES 
-DHAVE_DLOPEN"],
  AC_SUBST([DLOPEN_LIBS])

  dnl Check if that library also has dladdr
-AC_CHECK_FUNC([dladdr], [DEFINES="$DEFINES -DHAVE_DLADDR"],
-    [AC_CHECK_LIB([dl], [dladdr],
-       [DEFINES="$DEFINES -DHAVE_DLADDR"])])
+save_LIBS="$LIBS"
+LIBS="$LIBS $DLOPEN_LIBS"
+AC_CHECK_FUNCS([dladdr])
+LIBS="$save_LIBS"

  case "$host_os" in
  darwin*|mingw*)




More information about the mesa-dev mailing list