All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Daniel P . Berrangé" <berrange@redhat.com>
Subject: [PATCH 05/17] configure, meson: convert libpmem detection to meson
Date: Mon,  5 Jul 2021 18:00:06 +0200	[thread overview]
Message-ID: <20210705160018.241397-6-pbonzini@redhat.com> (raw)
In-Reply-To: <20210705160018.241397-1-pbonzini@redhat.com>

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure         | 24 ++++--------------------
 meson.build       |  8 ++++----
 meson_options.txt |  2 ++
 3 files changed, 10 insertions(+), 24 deletions(-)

diff --git a/configure b/configure
index 5b18f4fac3..51b8c3290a 100755
--- a/configure
+++ b/configure
@@ -427,7 +427,7 @@ qed=${default_feature:-yes}
 parallels=${default_feature:-yes}
 libxml2="$default_feature"
 debug_mutex="no"
-libpmem="$default_feature"
+libpmem="auto"
 default_devices="true"
 plugins="no"
 fuzzing="no"
@@ -1504,9 +1504,9 @@ for opt do
   ;;
   --disable-debug-mutex) debug_mutex=no
   ;;
-  --enable-libpmem) libpmem=yes
+  --enable-libpmem) libpmem=disabled
   ;;
-  --disable-libpmem) libpmem=no
+  --disable-libpmem) libpmem=enabled
   ;;
   --enable-xkbcommon) xkbcommon="enabled"
   ;;
@@ -4933,22 +4933,6 @@ EOF
   fi
 fi
 
-##########################################
-# check for libpmem
-
-if test "$libpmem" != "no"; then
-	if $pkg_config --exists "libpmem"; then
-		libpmem="yes"
-		libpmem_libs=$($pkg_config --libs libpmem)
-		libpmem_cflags=$($pkg_config --cflags libpmem)
-	else
-		if test "$libpmem" = "yes" ; then
-			feature_not_found "libpmem" "Install nvml or pmdk"
-		fi
-		libpmem="no"
-	fi
-fi
-
 ##########################################
 # check for slirp
 
@@ -6087,7 +6071,7 @@ if test "$skip_meson" = no; then
         -Dcurl=$curl -Dglusterfs=$glusterfs -Dbzip2=$bzip2 -Dlibiscsi=$libiscsi \
         -Dlibnfs=$libnfs -Diconv=$iconv -Dcurses=$curses -Dlibudev=$libudev\
         -Drbd=$rbd -Dlzo=$lzo -Dsnappy=$snappy -Dlzfse=$lzfse \
-        -Dlibdaxctl=$libdaxctl \
+        -Dlibdaxctl=$libdaxctl -Dlibpmem=$libpmem \
         -Dgnutls=$gnutls -Dnettle=$nettle -Dgcrypt=$gcrypt -Dauth_pam=$auth_pam \
         -Dzstd=$zstd -Dseccomp=$seccomp -Dvirtfs=$virtfs -Dcap_ng=$cap_ng \
         -Dattr=$attr -Ddefault_devices=$default_devices -Dvirglrenderer=$virglrenderer \
diff --git a/meson.build b/meson.build
index e530829105..e301eda3a5 100644
--- a/meson.build
+++ b/meson.build
@@ -1006,9 +1006,9 @@ if not get_option('libusb').auto() or have_system
 endif
 
 libpmem = not_found
-if 'CONFIG_LIBPMEM' in config_host
-  libpmem = declare_dependency(compile_args: config_host['LIBPMEM_CFLAGS'].split(),
-                               link_args: config_host['LIBPMEM_LIBS'].split())
+if not get_option('libpmem').auto() or have_system
+  libpmem = dependency('libpmem', required: get_option('libpmem'),
+                       method: 'pkg-config', kwargs: static_kwargs)
 endif
 libdaxctl = not_found
 if not get_option('libdaxctl').auto() or have_system
@@ -2822,7 +2822,7 @@ summary_info += {'zstd support':      zstd.found()}
 summary_info += {'NUMA host support': config_host.has_key('CONFIG_NUMA')}
 summary_info += {'libxml2':           config_host.has_key('CONFIG_LIBXML2')}
 summary_info += {'capstone':          capstone_opt == 'disabled' ? false : capstone_opt}
-summary_info += {'libpmem support':   config_host.has_key('CONFIG_LIBPMEM')}
+summary_info += {'libpmem support':   libpmem.found()}
 summary_info += {'libdaxctl support': libdaxctl.found()}
 summary_info += {'libudev':           libudev.found()}
 summary_info += {'FUSE lseek':        fuse_lseek.found()}
diff --git a/meson_options.txt b/meson_options.txt
index 46180000fd..b23174d0a1 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -86,6 +86,8 @@ option('gcrypt', type : 'feature', value : 'auto',
        description: 'libgcrypt cryptography support')
 option('libdaxctl', type : 'feature', value : 'auto',
        description: 'libdaxctl support')
+option('libpmem', type : 'feature', value : 'auto',
+       description: 'libpmem support')
 option('libudev', type : 'feature', value : 'auto',
        description: 'Use libudev to enumerate host devices')
 option('libusb', type : 'feature', value : 'auto',
-- 
2.31.1




  parent reply	other threads:[~2021-07-05 16:06 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-05 16:00 [PATCH v2 00/17] convert more library and compiler checks to Meson Paolo Bonzini
2021-07-05 16:00 ` [PATCH 01/17] configure: drop vte-2.90 check Paolo Bonzini
2021-07-05 16:03   ` Daniel P. Berrangé
2021-07-05 16:00 ` [PATCH 02/17] configure, meson: convert vte detection to meson Paolo Bonzini
2021-07-05 16:21   ` Daniel P. Berrangé
2021-07-05 16:00 ` [PATCH 03/17] configure, meson: convert virgl " Paolo Bonzini
2021-07-05 16:00 ` [PATCH 04/17] configure, meson: convert libdaxctl " Paolo Bonzini
2021-07-05 16:00 ` Paolo Bonzini [this message]
2021-07-05 16:00 ` [PATCH 06/17] configure, meson: convert liburing " Paolo Bonzini
2021-07-05 16:00 ` [PATCH 07/17] configure, meson: convert libxml2 " Paolo Bonzini
2021-07-05 16:00 ` [PATCH 08/17] meson: sort existing compiler tests Paolo Bonzini
2021-07-05 16:22   ` Daniel P. Berrangé
2021-07-05 16:00 ` [PATCH 09/17] meson: store dependency('threads') in a variable Paolo Bonzini
2021-07-05 16:00 ` [PATCH 10/17] configure, meson: move CONFIG_IVSHMEM to meson Paolo Bonzini
2021-07-05 16:00 ` [PATCH 11/17] configure: convert HAVE_BROKEN_SIZE_MAX " Paolo Bonzini
2021-07-05 16:00 ` [PATCH 12/17] configure: convert compiler tests to meson, part 1 Paolo Bonzini
2021-07-05 16:23   ` Daniel P. Berrangé
2021-07-05 16:00 ` [PATCH 13/17] configure: convert compiler tests to meson, part 2 Paolo Bonzini
2021-07-05 16:00 ` [PATCH 14/17] configure: convert compiler tests to meson, part 3 Paolo Bonzini
2021-07-05 16:00 ` [PATCH 15/17] configure: convert compiler tests to meson, part 4 Paolo Bonzini
2021-07-05 16:00 ` [PATCH 16/17] configure: convert compiler tests to meson, part 5 Paolo Bonzini
2021-07-05 16:00 ` [PATCH 17/17] configure: convert compiler tests to meson, part 6 Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210705160018.241397-6-pbonzini@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=berrange@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.