[libvirt PATCH 044/351] meson: add dlopen build dependency

Pavel Hrdina phrdina at redhat.com
Thu Jul 16 09:54:40 UTC 2020


Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
---
 configure.ac      |  2 --
 m4/virt-dlopen.m4 | 45 ---------------------------------------------
 meson.build       | 10 ++++++++++
 3 files changed, 10 insertions(+), 47 deletions(-)
 delete mode 100644 m4/virt-dlopen.m4

diff --git a/configure.ac b/configure.ac
index 9bb397d8e3e..0dc9dc3bcfb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -141,7 +141,6 @@ LIBVIRT_ARG_VIRTUALPORT
 LIBVIRT_ARG_WIRESHARK
 LIBVIRT_ARG_YAJL
 
-LIBVIRT_CHECK_DLOPEN
 LIBVIRT_CHECK_FIREWALLD
 LIBVIRT_CHECK_FIREWALLD_ZONE
 LIBVIRT_CHECK_FUSE
@@ -460,7 +459,6 @@ LIBVIRT_RESULT_DRIVER_MODULES
 AC_MSG_NOTICE([])
 AC_MSG_NOTICE([Libraries])
 AC_MSG_NOTICE([])
-LIBVIRT_RESULT_DLOPEN
 LIBVIRT_RESULT_FIREWALLD
 LIBVIRT_RESULT_FIREWALLD_ZONE
 LIBVIRT_RESULT_FUSE
diff --git a/m4/virt-dlopen.m4 b/m4/virt-dlopen.m4
deleted file mode 100644
index 412ce79adec..00000000000
--- a/m4/virt-dlopen.m4
+++ /dev/null
@@ -1,45 +0,0 @@
-dnl The dlopen library
-dnl
-dnl Copyright (C) 2016 Red Hat, Inc.
-dnl
-dnl This library is free software; you can redistribute it and/or
-dnl modify it under the terms of the GNU Lesser General Public
-dnl License as published by the Free Software Foundation; either
-dnl version 2.1 of the License, or (at your option) any later version.
-dnl
-dnl This library is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-dnl Lesser General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU Lesser General Public
-dnl License along with this library.  If not, see
-dnl <http://www.gnu.org/licenses/>.
-dnl
-
-AC_DEFUN([LIBVIRT_CHECK_DLOPEN], [
-
-  with_dlopen=yes
-  with_dlfcn=yes
-
-  AC_CHECK_HEADER([dlfcn.h],, [with_dlfcn=no])
-  AC_SEARCH_LIBS([dlopen], [dl],, [with_dlopen=no])
-
-  case $ac_cv_search_dlopen:$host_os in
-    'none required'* | *:mingw* | *:msvc*)
-      DLOPEN_LIBS= ;;
-    no*)
-      AC_MSG_ERROR([Unable to find dlopen()]) ;;
-    *)
-      if test "x$with_dlfcn" != "xyes"; then
-        AC_MSG_ERROR([Unable to find dlfcn.h])
-      fi
-      DLOPEN_LIBS=$ac_cv_search_dlopen ;;
-  esac
-
-  AC_SUBST([DLOPEN_LIBS])
-])
-
-AC_DEFUN([LIBVIRT_RESULT_DLOPEN], [
-  LIBVIRT_RESULT_LIB([DLOPEN])
-])
diff --git a/meson.build b/meson.build
index 01525c05055..31f4e730ce7 100644
--- a/meson.build
+++ b/meson.build
@@ -1024,6 +1024,15 @@ if devmapper_dep.found()
   conf.set('WITH_DEVMAPPER', 1)
 endif
 
+dlopen_use = host_machine.system() != 'windows'
+dlopen_dep = cc.find_library('dl', required: dlopen_use)
+if dlopen_dep.found()
+  if not cc.has_header('dlfcn.h')
+    error('Unable to find dlfcn.h')
+  endif
+  conf.set('HAVE_DLFCN_H', 1)
+endif
+
 # readline 7.0 is the first version which includes pkg-config support
 readline_version = '7.0'
 readline_dep = dependency('readline', version: '>=' + readline_version, required: false)
@@ -1142,6 +1151,7 @@ libs_summary = {
   'capng': capng_dep.found(),
   'curl': curl_dep.found(),
   'dbus': dbus_dep.found(),
+  'dlopen': dlopen_dep.found(),
   'readline': readline_dep.found(),
 }
 summary(libs_summary, section: 'Libraries', bool_yn: true)
-- 
2.26.2




More information about the libvir-list mailing list