summaryrefslogtreecommitdiff
path: root/gnulib-m4/libdl.m4
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff.email>2026-03-08 17:28:50 +0100
committerJörg Frings-Fürst <debian@jff.email>2026-03-08 17:28:50 +0100
commitff33e1d252f46bec1a33e28700da3282fc24047a (patch)
tree5c15bc695be820b393a8496c5807ecafbbdeb89b /gnulib-m4/libdl.m4
parentb2ac982cc8b5290699eb5f52fb043d3d15e2624b (diff)
parent5f59a34ab747dde8ede7357f3431bf06bd6002fe (diff)
Update upstream source from tag 'upstream/1.4.2'
Update to upstream version '1.4.2' with Debian dir 493e96bcd865e4f9990e20bee26408c96231d727
Diffstat (limited to 'gnulib-m4/libdl.m4')
-rw-r--r--gnulib-m4/libdl.m446
1 files changed, 46 insertions, 0 deletions
diff --git a/gnulib-m4/libdl.m4 b/gnulib-m4/libdl.m4
new file mode 100644
index 00000000..79d69063
--- /dev/null
+++ b/gnulib-m4/libdl.m4
@@ -0,0 +1,46 @@
+# libdl.m4
+# serial 3
+dnl Copyright (C) 2024-2026 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl This file is offered as-is, without any warranty.
+
+dnl From Bruno Haible.
+
+dnl Set LIBDL to '-ldl' if it is needed to use the functions declared
+dnl in <dlfcn.h> (dlopen, dlsym, etc.), or to empty otherwise.
+AC_DEFUN([gl_LIBDL],
+[
+ dnl dlopen, dlsym are
+ dnl - in libc on glibc >= 2.34, musl libc, macOS, FreeBSD, NetBSD, OpenBSD,
+ dnl AIX, Solaris, Cygwin, Haiku,
+ dnl - in a separate libdl on glibc < 2.34, uClibc, Android.
+ AC_CACHE_CHECK([for library needed for dlopen and dlsym],
+ [gl_cv_lib_dl],
+ [AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <dlfcn.h>
+ ]],
+ [[return ! dlsym (RTLD_DEFAULT, "main");]])],
+ [gl_cv_lib_dl=none],
+ [gl_cv_lib_dl=maybe])
+ if test $gl_cv_lib_dl = maybe; then
+ saved_LIBS="$LIBS"
+ LIBS="$LIBS -ldl"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <dlfcn.h>
+ ]],
+ [[return ! dlsym (RTLD_DEFAULT, "main");]])],
+ [gl_cv_lib_dl='-ldl'],
+ [gl_cv_lib_dl=none])
+ LIBS="$saved_LIBS"
+ fi
+ ])
+ case "$gl_cv_lib_dl" in
+ none) LIBDL='' ;;
+ *) LIBDL="$gl_cv_lib_dl" ;;
+ esac
+ AC_SUBST([LIBDL])
+])