]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
BuildSystem: Enable dladdr on non-Linux platforms like FreeBSD.
authorAlexander Traud <pabstraud@compuserve.com>
Fri, 9 Mar 2018 08:44:23 +0000 (09:44 +0100)
committerAlexander Traud <pabstraud@compuserve.com>
Fri, 9 Mar 2018 08:45:47 +0000 (02:45 -0600)
ASTERISK-27641

Change-Id: I587e8ba0123c70fc10cfd8b0ac3299551f61d84b

configure
configure.ac

index 3442d5724808a281b919a40a63aec368cead2469..f86b41bb77eb7c0b5199ddabfc5f979c77382d61 100755 (executable)
--- a/configure
+++ b/configure
@@ -19129,6 +19129,41 @@ rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=${old_LIBS}
 
+# re-check without -ldl
+# Non-Linux platforms like FreeBSD and NetBSD do not need a library libdl.so.
+if test "${PBX_DLADDR}" = "0"; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dladdr in dlfcn.h without -ldl" >&5
+$as_echo_n "checking for dladdr in dlfcn.h without -ldl... " >&6; }
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#define _GNU_SOURCE 1
+#include <dlfcn.h>
+int
+main ()
+{
+dladdr((void *)0, (void *)0)
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+               PBX_DLADDR=1
+
+
+$as_echo "#define HAVE_DLADDR 1" >>confdefs.h
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+
 # PKGCONFIG is used in later tests
 
 
index d9148c0191b6f7fca0b77ff97bb2b0074d5bd0d3..a72022a6aeece2bbcf20eb16aa814b5b53f919f4 100644 (file)
@@ -1405,6 +1405,23 @@ AC_LINK_IFELSE(
 )
 LIBS=${old_LIBS}
 
+# re-check without -ldl
+# Non-Linux platforms like FreeBSD and NetBSD do not need a library libdl.so.
+if test "${PBX_DLADDR}" = "0"; then
+       AC_MSG_CHECKING(for dladdr in dlfcn.h without -ldl)
+       AC_LINK_IFELSE(
+               [AC_LANG_PROGRAM([#define _GNU_SOURCE 1
+#include <dlfcn.h>],
+                       [dladdr((void *)0, (void *)0)]
+               )],
+               AC_MSG_RESULT(yes)
+               PBX_DLADDR=1
+               AC_SUBST([PBX_DLADDR])
+               AC_DEFINE([HAVE_DLADDR], 1, [Define to 1 if your system has the dladdr() GNU extension]),
+               AC_MSG_RESULT(no)
+       )
+fi
+
 # PKGCONFIG is used in later tests
 PKG_PROG_PKG_CONFIG()