From 8b7dbdf19a5129f31d1e3b7aa0aa48756fd3fb52 Mon Sep 17 00:00:00 2001 From: Pavel Hrdina Date: Wed, 29 Apr 2020 10:34:31 +0200 Subject: [PATCH] meson: add dlopen build dependency Signed-off-by: Pavel Hrdina Reviewed-by: Peter Krempa Reviewed-by: Neal Gompa --- 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 59a047413a..3990a836c2 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 @@ -458,7 +457,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 412ce79ade..0000000000 --- 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 . -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 26cb2c69c5..40c6a64d62 100644 --- a/meson.build +++ b/meson.build @@ -1040,6 +1040,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) @@ -1158,6 +1167,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)