autoconf: automatically detect if -ldl is required.
authorEric Anholt <eric@anholt.net>
Fri, 21 Mar 2008 00:28:58 +0000 (17:28 -0700)
committerEric Anholt <eric@anholt.net>
Fri, 21 Mar 2008 21:19:30 +0000 (14:19 -0700)
This logic was copied from the xserver.

configure.ac

index 504d9acdc91ef89917ca1433bca9faba05df4c76..99657eb20a97f1b2117113d216a4b18bc1214c45 100644 (file)
@@ -43,6 +43,11 @@ if test "x$GCC" = xyes; then
 fi
 AC_SUBST(MKDEP_OPTIONS)
 
+dnl Check to see if dlopen is in default libraries (like Solaris, which
+dnl has it in libc), or if libdl is needed to get it.
+AC_CHECK_FUNC([dlopen], [],
+       AC_CHECK_LIB([dl], [dlopen], DLOPEN_LIBS="-ldl"))
+
 dnl Make sure the pkg-config macros are defined
 m4_ifdef([PKG_PROG_PKG_CONFIG],,[
     AC_MSG_ERROR([The pkg-config autoconf macros are not defined.
@@ -399,7 +404,7 @@ dri)
     fi
 
     # need DRM libs, -lpthread, etc.
-    GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm -lpthread -ldl"
+    GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
     ;;
 osmesa)
     # No libGL for osmesa
@@ -550,7 +555,7 @@ if test "$mesa_driver" = dri; then
         AC_MSG_ERROR([Expat required for DRI.]))
 
     # put all the necessary libs together
-    DRI_LIB_DEPS="$SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIB -lm -lpthread -ldl"
+    DRI_LIB_DEPS="$SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIB -lm -lpthread $DLOPEN_LIBS"
 fi
 AC_SUBST(DRI_DIRS)
 AC_SUBST(EXPAT_INCLUDES)