qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Marc-André Lureau" <marcandre.lureau@redhat.com>
Subject: [PULL 14/26] configure, meson: move remaining HAVE_* compiler tests to Meson
Date: Thu, 14 Oct 2021 18:29:26 +0200	[thread overview]
Message-ID: <20211014162938.430211-15-pbonzini@redhat.com> (raw)
In-Reply-To: <20211014162938.430211-1-pbonzini@redhat.com>

Remove some special cases by moving them to Meson.

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20211007130829.632254-8-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure   | 37 -------------------------------------
 meson.build | 19 ++++++++++++++++++-
 2 files changed, 18 insertions(+), 38 deletions(-)

diff --git a/configure b/configure
index 6efea3cfc6..e78f58978f 100755
--- a/configure
+++ b/configure
@@ -2403,18 +2403,6 @@ else
   l2tpv3=no
 fi
 
-cat > $TMPC <<EOF
-#include <sys/mman.h>
-int main(int argc, char *argv[]) {
-    return mlockall(MCL_FUTURE);
-}
-EOF
-if compile_prog "" "" ; then
-  have_mlockall=yes
-else
-  have_mlockall=no
-fi
-
 #########################################
 # vhost interdependencies and host support
 
@@ -3842,21 +3830,6 @@ if test "$fortify_source" != "no"; then
   fi
 fi
 
-##########################################
-# check if struct fsxattr is available via linux/fs.h
-
-have_fsxattr=no
-cat > $TMPC << EOF
-#include <linux/fs.h>
-struct fsxattr foo;
-int main(void) {
-  return 0;
-}
-EOF
-if compile_prog "" "" ; then
-    have_fsxattr=yes
-fi
-
 ##########################################
 # check for usable membarrier system call
 if test "$membarrier" = "yes"; then
@@ -4358,13 +4331,6 @@ if test "$gdbus_codegen" != "" ; then
 fi
 echo "CONFIG_TLS_PRIORITY=\"$tls_priority\"" >> $config_host_mak
 
-# Work around a system header bug with some kernel/XFS header
-# versions where they both try to define 'struct fsxattr':
-# xfs headers will not try to redefine structs from linux headers
-# if this macro is set.
-if test "$have_fsxattr" = "yes" ; then
-    echo "HAVE_FSXATTR=y" >> $config_host_mak
-fi
 if test "$xen" = "enabled" ; then
   echo "CONFIG_XEN_BACKEND=y" >> $config_host_mak
   echo "CONFIG_XEN_CTRL_INTERFACE_VERSION=$xen_ctrl_version" >> $config_host_mak
@@ -4569,9 +4535,6 @@ fi
 if test "$parallels" = "yes" ; then
   echo "CONFIG_PARALLELS=y" >> $config_host_mak
 fi
-if test "$have_mlockall" = "yes" ; then
-  echo "HAVE_MLOCKALL=y" >> $config_host_mak
-fi
 
 if test "$plugins" = "yes" ; then
     echo "CONFIG_PLUGIN=y" >> $config_host_mak
diff --git a/meson.build b/meson.build
index bdcedf2eef..e8e728bf72 100644
--- a/meson.build
+++ b/meson.build
@@ -1601,6 +1601,23 @@ config_host_data.set('CONFIG_SPLICE', cc.links(gnu_source_prefix + '''
     return 0;
   }'''))
 
+config_host_data.set('HAVE_MLOCKALL', cc.links(gnu_source_prefix + '''
+  #include <sys/mman.h>
+  int main(int argc, char *argv[]) {
+    return mlockall(MCL_FUTURE);
+  }'''))
+
+# Work around a system header bug with some kernel/XFS header
+# versions where they both try to define 'struct fsxattr':
+# xfs headers will not try to redefine structs from linux headers
+# if this macro is set.
+config_host_data.set('HAVE_FSXATTR', cc.links('''
+  #include <linux/fs.h>'
+  struct fsxattr foo;
+  int main(void) {
+    return 0;
+  }'''))
+
 # Some versions of Mac OS X incorrectly define SIZE_MAX
 config_host_data.set('HAVE_BROKEN_SIZE_MAX', not cc.compiles('''
     #include <stdint.h>
@@ -1625,7 +1642,7 @@ foreach k, v: config_host
     config_host_data.set('HOST_' + v.to_upper(), 1)
   elif strings.contains(k)
     config_host_data.set_quoted(k, v)
-  elif k.startswith('CONFIG_') or k.startswith('HAVE_')
+  elif k.startswith('CONFIG_')
     config_host_data.set(k, v == 'y' ? 1 : v)
   endif
 endforeach
-- 
2.31.1




  parent reply	other threads:[~2021-10-14 16:44 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-14 16:29 [PULL 00/26] Meson changes for 2021-10-14 Paolo Bonzini
2021-10-14 16:29 ` [PULL 01/26] configure: remove --oss-lib Paolo Bonzini
2021-10-14 16:29 ` [PULL 02/26] audio: remove CONFIG_AUDIO_WIN_INT Paolo Bonzini
2021-10-14 16:29 ` [PULL 03/26] configure, meson: move audio driver detection to Meson Paolo Bonzini
2021-11-01 14:32   ` Peter Maydell
2021-10-14 16:29 ` [PULL 04/26] meson: define symbols for all available audio drivers Paolo Bonzini
2021-10-14 16:29 ` [PULL 05/26] configure: add command line options for " Paolo Bonzini
2021-10-14 16:29 ` [PULL 06/26] kconfig: split CONFIG_SPARSE_MEM from fuzzing Paolo Bonzini
2021-10-14 16:29 ` [PULL 07/26] configure, meson: move fuzzing configuration to Meson Paolo Bonzini
2021-10-14 16:29 ` [PULL 08/26] trace: simple: pass trace_file unmodified to config-host.h Paolo Bonzini
2021-10-14 16:29 ` [PULL 09/26] trace: move configuration from configure to Meson Paolo Bonzini
2021-10-14 16:29 ` [PULL 10/26] configure, meson: move CONFIG_HOST_DSOSUF " Paolo Bonzini
2021-10-14 16:29 ` [PULL 11/26] configure, meson: get HOST_WORDS_BIGENDIAN via the machine object Paolo Bonzini
2021-10-14 16:29 ` [PULL 12/26] configure, meson: remove CONFIG_GCOV from config-host.mak Paolo Bonzini
2021-10-14 16:29 ` [PULL 13/26] meson: HAVE_GDB_BIN is not used by C code Paolo Bonzini
2021-10-14 16:29 ` Paolo Bonzini [this message]
2021-10-14 16:29 ` [PULL 15/26] configure, meson: move pthread_setname_np checks to Meson Paolo Bonzini
2021-11-15 17:15   ` Daniel P. Berrangé
2021-11-15 17:25     ` Peter Maydell
2021-10-14 16:29 ` [PULL 16/26] configure, meson: move libaio check to meson.build Paolo Bonzini
2021-10-14 16:29 ` [PULL 17/26] configure, meson: move vde detection to meson Paolo Bonzini
2021-10-14 16:29 ` [PULL 18/26] configure, meson: move netmap " Paolo Bonzini
2021-10-14 16:29 ` [PULL 19/26] configure, meson: move Spice configure handling " Paolo Bonzini
2021-10-14 16:29 ` [PULL 20/26] configure: remove obsolete Solaris ar check Paolo Bonzini
2021-10-14 16:29 ` [PULL 21/26] configure, meson: move more compiler checks to Meson Paolo Bonzini
2021-11-15 16:36   ` Peter Maydell
2021-11-15 16:42     ` Peter Maydell
2021-11-16  9:29       ` Paolo Bonzini
2021-11-16 13:13       ` Peter Maydell
2021-11-15 16:55     ` Peter Maydell
2021-10-14 16:29 ` [PULL 22/26] configure: remove deprecated --{enable, disable}-git-update Paolo Bonzini
2021-10-14 16:29 ` [PULL 23/26] configure: accept "internal" for --enable-capstone/slirp/fdt Paolo Bonzini
2021-10-14 16:29 ` [PULL 24/26] configure: prepare for auto-generated option parsing Paolo Bonzini
2021-10-14 16:29 ` [PULL 25/26] meson-buildoptions: include list of tracing backends Paolo Bonzini
2021-10-14 16:29 ` [PULL 26/26] configure: automatically parse command line for meson -D options Paolo Bonzini
2021-10-14 19:15 ` [PULL 00/26] Meson changes for 2021-10-14 Richard Henderson

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=20211014162938.430211-15-pbonzini@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --subject='Re: [PULL 14/26] configure, meson: move remaining HAVE_* compiler tests to Meson' \
    /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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).