zl程序教程

您现在的位置是:首页 >  大数据

当前栏目

QEMU零知识学习3 —— QEMU配置

配置学习 知识 QEMU
2023-09-14 09:15:40 时间

本文接前一篇文章《QEMU零知识学习2 —— QEMU源码下载》,链接如下:

QEMU零知识学习2 —— QEMU源码下载_蓝天居士的博客-CSDN博客

基于第2种方式通过wget下载源码压缩包解压后生成的源码进行QEMU的配置。

配置QEMU

QEMU的配置并不复杂,直接运行源码根目录下的configure进行配置即可。

(1)查看配置帮助信息

如果对QEMU的配置不熟悉,可以运行以下命令查看配置的选项及其帮助信息:

$ ./configure --help
Using './build' as the directory for build output

Usage: configure [options]
Options: [defaults in brackets after descriptions]

Standard options:
  --help                   print this message
  --prefix=PREFIX          install in PREFIX [/usr/local]
  --target-list=LIST       set target list (default: build all)
                           Available targets: aarch64-softmmu alpha-softmmu 
                           arm-softmmu avr-softmmu cris-softmmu hppa-softmmu 
                           i386-softmmu loongarch64-softmmu m68k-softmmu 
                           microblazeel-softmmu microblaze-softmmu 
                           mips64el-softmmu mips64-softmmu mipsel-softmmu 
                           mips-softmmu nios2-softmmu or1k-softmmu 
                           ppc64-softmmu ppc-softmmu riscv32-softmmu 
                           riscv64-softmmu rx-softmmu s390x-softmmu 
                           sh4eb-softmmu sh4-softmmu sparc64-softmmu 
                           sparc-softmmu tricore-softmmu x86_64-softmmu 
                           xtensaeb-softmmu xtensa-softmmu 
                           aarch64_be-linux-user aarch64-linux-user 
                           alpha-linux-user armeb-linux-user arm-linux-user 
                           cris-linux-user hexagon-linux-user hppa-linux-user 
                           i386-linux-user loongarch64-linux-user 
                           m68k-linux-user microblazeel-linux-user 
                           microblaze-linux-user mips64el-linux-user 
                           mips64-linux-user mipsel-linux-user mips-linux-user 
                           mipsn32el-linux-user mipsn32-linux-user 
                           nios2-linux-user or1k-linux-user ppc64le-linux-user 
                           ppc64-linux-user ppc-linux-user riscv32-linux-user 
                           riscv64-linux-user s390x-linux-user sh4eb-linux-user 
                           sh4-linux-user sparc32plus-linux-user 
                           sparc64-linux-user sparc-linux-user 
                           x86_64-linux-user xtensaeb-linux-user 
                           xtensa-linux-user
  --target-list-exclude=LIST exclude a set of targets from the default target-list

Advanced options (experts only):
  --cross-prefix=PREFIX    use PREFIX for compile tools, PREFIX can be blank []
  --cc=CC                  use C compiler CC [cc]
  --host-cc=CC             use C compiler CC [cc] for code run at
                           build time
  --cxx=CXX                use C++ compiler CXX [c++]
  --objcc=OBJCC            use Objective-C compiler OBJCC [clang]
  --extra-cflags=CFLAGS    append extra C compiler flags CFLAGS
  --extra-cxxflags=CXXFLAGS append extra C++ compiler flags CXXFLAGS
  --extra-objcflags=OBJCFLAGS append extra Objective C compiler flags OBJCFLAGS
  --extra-ldflags=LDFLAGS  append extra linker flags LDFLAGS
  --cross-cc-ARCH=CC       use compiler when building ARCH guest test cases
  --cross-cc-cflags-ARCH=  use compiler flags when building ARCH guest tests
  --cross-prefix-ARCH=PREFIX cross compiler prefix when building ARCH guest test cases
  --make=MAKE              use specified make [make]
  --python=PYTHON          use specified python [/usr/bin/python3]
  --meson=MESON            use specified meson []
  --ninja=NINJA            use specified ninja []
  --smbd=SMBD              use specified smbd []
  --with-git=GIT           use specified git [git]
  --with-git-submodules=update   update git submodules (default if .git dir exists)
  --with-git-submodules=validate fail if git submodules are not up to date
  --with-git-submodules=ignore   do not update or check git submodules (default if no .git dir)
  --static                 enable static build [no]
  --bindir=PATH            install binaries in PATH
  --with-suffix=SUFFIX     suffix for QEMU data inside datadir/libdir/sysconfdir/docdir [qemu]
  --without-default-features default all --enable-* options to "disabled"
  --without-default-devices  do not include any device that is not needed to
                           start the emulator (only use if you are including
                           desired devices in configs/devices/)
  --with-devices-ARCH=NAME override default configs/devices
  --enable-debug           enable common debug build options
  --enable-sanitizers      enable default sanitizers
  --enable-tsan            enable thread sanitizer
  --disable-werror         disable compilation abort on warning
  --disable-stack-protector disable compiler-provided stack protection
  --cpu=CPU                Build for host CPU [x86_64]
  --with-coroutine=BACKEND coroutine backend. Supported options:
                           ucontext, sigaltstack, windows
  --enable-plugins
                           enable plugins via shared library loading
  --disable-containers     don't use containers for cross-building
  --gdb=GDB-path           gdb to use for gdbstub tests [/usr/bin/gdb]
  --audio-drv-list=CHOICES Set audio driver list [default] (choices: alsa/co
                           reaudio/default/dsound/jack/oss/pa/sdl/sndio)
  --block-drv-ro-whitelist=VALUE
                           set block driver read-only whitelist (by default
                           affects only QEMU, not tools like qemu-img)
  --block-drv-rw-whitelist=VALUE
                           set block driver read-write whitelist (by default
                           affects only QEMU, not tools like qemu-img)
  --datadir=VALUE          Data file directory [share]
  --disable-coroutine-pool coroutine freelist (better performance)
  --disable-install-blobs  install provided firmware blobs
  --docdir=VALUE           Base directory for documentation installation
                           (can be empty) [share/doc]
  --enable-block-drv-whitelist-in-tools
                           use block whitelist also in tools instead of only
                           QEMU
  --enable-cfi             Control-Flow Integrity (CFI)
  --enable-cfi-debug       Verbose errors in case of CFI violation
  --enable-debug-mutex     mutex debugging support
  --enable-debug-stack-usage
                           measure coroutine stack usage
  --enable-fdt[=CHOICE]    Whether and how to find the libfdt library
                           (choices: auto/disabled/enabled/internal/system)
  --enable-fuzzing         build fuzzing targets
  --enable-gcov            Enable coverage tracking.
  --enable-gprof           QEMU profiling with gprof
  --enable-lto             Use link time optimization
  --enable-malloc=CHOICE   choose memory allocator to use [system] (choices:
                           jemalloc/system/tcmalloc)
  --enable-module-upgrades try to load modules from alternate paths for
                           upgrades
  --enable-profiler        profiler support
  --enable-qom-cast-debug  cast debugging support
  --enable-rng-none        dummy RNG, avoid using /dev/(u)random and
                           getrandom()
  --enable-strip           Strip targets on install
  --enable-tcg-interpreter TCG with bytecode interpreter (slow)
  --enable-trace-backends=CHOICES
                           Set available tracing backends [log] (choices:
                           dtrace/ftrace/log/nop/simple/syslog/ust)
  --firmwarepath=VALUES    search PATH for firmware files [share/qemu-firmware]
  --iasl=VALUE             Path to ACPI disassembler
  --includedir=VALUE       Header file directory [include]
  --interp-prefix=VALUE    where to find shared libraries etc., use %M for
                           cpu name [/usr/gnemul/qemu-%M]
  --libdir=VALUE           Library directory [lib64]
  --libexecdir=VALUE       Library executable directory [libexec]
  --localedir=VALUE        Locale data directory [share/locale]
  --localstatedir=VALUE    Localstate data directory [/var/local]
  --mandir=VALUE           Manual page directory [share/man]
  --sphinx-build=VALUE     Use specified sphinx-build for building document
  --sysconfdir=VALUE       Sysconf data directory [etc]
  --tls-priority=VALUE     Default TLS protocol/cipher priority string
                           [NORMAL]
  --with-pkgversion=VALUE  use specified string as sub-version of the
                           package
  --with-trace-file=VALUE  Trace file prefix for simple backend [trace]

Optional features, enabled with --enable-FEATURE and
disabled with --disable-FEATURE, default is enabled if available
(unless built with --without-default-features):

  alsa            ALSA sound support
  attr            attr/xattr support
  auth-pam        PAM access control
  avx2            AVX2 optimizations
  avx512f         AVX512F optimizations
  blkio           libblkio block device driver
  bochs           bochs image format support
  bpf             eBPF support
  brlapi          brlapi character device driver
  bzip2           bzip2 support for DMG images
  canokey         CanoKey support
  cap-ng          cap_ng support
  capstone        Whether and how to find the capstone library
  cloop           cloop image format support
  cocoa           Cocoa user interface (macOS only)
  coreaudio       CoreAudio sound support
  crypto-afalg    Linux AF_ALG crypto backend driver
  curl            CURL block device driver
  curses          curses UI
  dbus-display    -display dbus support
  dmg             dmg image format support
  docs            Documentations build support
  dsound          DirectSound sound support
  fuse            FUSE block device export
  fuse-lseek      SEEK_HOLE/SEEK_DATA support for FUSE exports
  gcrypt          libgcrypt cryptography support
  gettext         Localization of the GTK+ user interface
  gio             use libgio for D-Bus support
  glusterfs       Glusterfs block device driver
  gnutls          GNUTLS cryptography support
  gtk             GTK+ user interface
  gtk-clipboard   clipboard support for GTK (EXPERIMENTAL, MAY HANG)
  guest-agent     Build QEMU Guest Agent
  guest-agent-msi Build MSI package for the QEMU Guest Agent
  hax             HAX acceleration support
  hvf             HVF acceleration support
  iconv           Font glyph conversion support
  jack            JACK sound support
  keyring         Linux keyring support
  kvm             KVM acceleration support
  l2tpv3          l2tpv3 network backend support
  libdaxctl       libdaxctl support
  libiscsi        libiscsi userspace initiator
  libnfs          libnfs block device driver
  libpmem         libpmem support
  libssh          ssh block device support
  libudev         Use libudev to enumerate host devices
  libusb          libusb support for USB passthrough
  libvduse        build VDUSE Library
  linux-aio       Linux AIO support
  linux-io-uring  Linux io_uring support
  live-block-migration
                  block migration in the main migration stream
  lzfse           lzfse support for DMG images
  lzo             lzo compression support
  malloc-trim     enable libc malloc_trim() for memory optimization
  membarrier      membarrier system call (for Linux 4.14+ or Windows
  mpath           Multipath persistent reservation passthrough
  multiprocess    Out of process device emulation support
  netmap          netmap network backend support
  nettle          nettle cryptography support
  numa            libnuma support
  nvmm            NVMM acceleration support
  opengl          OpenGL support
  oss             OSS sound support
  pa              PulseAudio sound support
  parallels       parallels image format support
  png             PNG support with libpng
  pvrdma          Enable PVRDMA support
  qcow1           qcow1 image format support
  qed             qed image format support
  qga-vss         build QGA VSS support (broken with MinGW)
  rbd             Ceph block device driver
  rdma            Enable RDMA-based migration
  replication     replication support
  sdl             SDL user interface
  sdl-image       SDL Image support for icons
  seccomp         seccomp support
  selinux         SELinux support in qemu-nbd
  slirp           libslirp user mode network backend support
  slirp-smbd      use smbd (at path --smbd=*) in slirp networking
  smartcard       CA smartcard emulation support
  snappy          snappy compression support
  sndio           sndio sound support
  sparse          sparse checker
  spice           Spice server support
  spice-protocol  Spice protocol support
  tcg             TCG support
  tools           build support utilities that come with QEMU
  tpm             TPM support
  u2f             U2F emulation support
  usb-redir       libusbredir support
  vde             vde network backend support
  vdi             vdi image format support
  vfio-user-server
                  vfio-user server support
  vhost-crypto    vhost-user crypto backend support
  vhost-kernel    vhost kernel backend support
  vhost-net       vhost-net kernel acceleration support
  vhost-user      vhost-user backend support
  vhost-user-blk-server
                  build vhost-user-blk server
  vduse-blk-export
                  VDUSE block export support
  vhost-vdpa      vhost-vdpa kernel backend support
  virglrenderer   virgl rendering support
  virtfs          virtio-9p support
  virtiofsd       build virtiofs daemon (virtiofsd)
  vmnet           vmnet.framework network backend support
  vnc             VNC server
  vnc-jpeg        JPEG lossy compression for VNC server
  vnc-sasl        SASL authentication for VNC server
  vte             vte support for the gtk UI
  vvfat           vvfat image format support
  whpx            WHPX acceleration support
  xen             Xen backend support
  xen-pci-passthrough
                  Xen PCI passthrough support
  xkbcommon       xkbcommon support
  zstd            zstd compression support
  system          all system emulation targets
  user            supported user emulation targets
  linux-user      all linux usermode emulation targets
  bsd-user        all BSD usermode emulation targets
  pie             Position Independent Executables
  modules         modules support (non-Windows)
  debug-tcg       TCG debugging (default is disabled)
  debug-info      debugging information
  safe-stack      SafeStack Stack Smash Protection. Depends on
                  clang/llvm >= 3.7 and requires coroutine backend ucontext.

NOTE: The object files are built at the place where configure is launched

在以上configure选项中,特别提一下“--target-list”,其指定QEMU对客户机架构的支持。可以看到,对应的选项相当多,从表面上来看,QEMU对客户机的支持非常全面。

(2)配置 

  • 运行不带任何参数的configure:
penghao@Ding-Perlis-MP26JBT0:~/QEMU_kvm/QEMU/source_codes/qemu-7.2.0$ ./configure 
Using './build' as the directory for build output
The Meson build system
Version: 0.62.2
Source dir: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0
Build dir: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build
Build type: native build
Project name: qemu
Project version: 7.2.0
C compiler for the host machine: cc -m64 -mcx16 (gcc 12.1.0 "cc (GCC) 12.1.0")
C linker for the host machine: cc -m64 -mcx16 ld.bfd 2.38
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program scripts/symlink-install-tree.py found: YES (/usr/bin/python3.10 /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/scripts/symlink-install-tree.py)
Program sh found: YES (/usr/bin/sh)
Program python3 found: YES (/usr/bin/python3.10)
Program bzip2 found: YES (/usr/bin/bzip2)
Program iasl found: NO
Compiler for C supports link arguments -Wl,-z,relro: YES 
Compiler for C supports link arguments -Wl,-z,now: YES 
C++ compiler for the host machine: c++ -m64 -mcx16 (gcc 12.1.0 "c++ (GCC) 12.1.0")
C++ linker for the host machine: c++ -m64 -mcx16 ld.bfd 2.38
Compiler for C++ supports link arguments -Wl,--warn-common: YES 
Program cgcc found: NO
Library m found: YES
Run-time dependency threads found: YES
Library util found: YES
Run-time dependency appleframeworks found: NO (tried framework)
Found pkg-config: /usr/bin/pkg-config (0.29.2)
Run-time dependency gio-2.0 found: YES 2.72.3
Program /usr/bin/gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Run-time dependency gio-unix-2.0 found: YES 2.72.3
Run-time dependency pixman-1 found: YES 0.40.0
Run-time dependency zlib found: YES 1.2.12
Has header "libaio.h" : YES 
Library aio found: YES
Run-time dependency liburing found: NO (tried pkgconfig)
Run-time dependency libnfs found: NO (tried pkgconfig)
Run-time dependency appleframeworks found: NO (tried framework)
Run-time dependency appleframeworks found: NO (tried framework)
Run-time dependency libseccomp found: NO (tried pkgconfig)
Has header "cap-ng.h" : NO 
Run-time dependency xkbcommon found: YES 1.4.0
Run-time dependency slirp found: NO (tried pkgconfig)
Has header "libvdeplug.h" : NO 
Run-time dependency libpulse found: YES 16.1
Run-time dependency alsa found: YES 1.2.7.2
Run-time dependency jack found: NO (tried pkgconfig)
Run-time dependency sndio found: NO (tried pkgconfig)
Run-time dependency spice-protocol found: NO (tried pkgconfig)
Run-time dependency spice-server found: NO (tried pkgconfig)
Library rt found: YES
Run-time dependency libiscsi found: NO (tried pkgconfig)
Run-time dependency libzstd found: YES 1.5.2
Run-time dependency virglrenderer found: NO (tried pkgconfig)
Run-time dependency blkio found: NO (tried pkgconfig)
Run-time dependency libcurl found: YES 7.84.0
Run-time dependency libudev found: YES 251
Library mpathpersist found: NO
Run-time dependency ncursesw found: YES 6.3.20211021
Has header "brlapi.h" : NO 
sdl2-config found: NO
Run-time dependency sdl2 found: NO (tried pkgconfig and config-tool)
Library rados found: NO
Has header "rbd/librbd.h" : NO 
Run-time dependency glusterfs-api found: NO (tried pkgconfig)
Run-time dependency libssh found: NO (tried pkgconfig)
Has header "bzlib.h" : YES 
Library bz2 found: YES
Has header "lzfse.h" : NO 
Has header "sys/soundcard.h" : YES 
Run-time dependency epoxy found: YES 1.5.9
Has header "epoxy/egl.h" with dependency epoxy: YES 
Run-time dependency gbm found: YES 21.3.6
Run-time dependency gnutls found: YES 3.7.3
Run-time dependency gmp found: YES 6.2.1
Run-time dependency gtk+-3.0 found: YES 3.24.31
Run-time dependency gtk+-x11-3.0 found: YES 3.24.31
Run-time dependency vte-2.91 found: NO (tried pkgconfig)
Run-time dependency x11 found: YES 1.7.3.1
Run-time dependency libpng found: YES 1.6.37
Run-time dependency libjpeg found: YES 2.1.2
Has header "sasl/sasl.h" : NO 
Has header "security/pam_appl.h" : YES 
Library pam found: YES
Has header "snappy-c.h" : NO 
Has header "lzo/lzo1x.h" : YES 
Library lzo2 found: YES
Has header "numa.h" : NO 
Library ibumad found: NO
Has header "rdma/rdma_cma.h" : NO 
Library ibverbs found: NO
Run-time dependency xencontrol found: NO (tried pkgconfig)
Library xenstore found: NO
Library xenctrl found: NO
Library xendevicemodel found: NO
Library xenforeignmemory found: NO
Library xengnttab found: NO
Library xenevtchn found: NO
Library xentoolcore found: NO
Run-time dependency libcacard found: NO (tried pkgconfig)
Run-time dependency u2f-emu found: NO (tried pkgconfig)
Run-time dependency canokey-qemu found: NO (tried pkgconfig)
Run-time dependency libusbredirparser-0.5 found: NO (tried pkgconfig)
Run-time dependency libusb-1.0 found: YES 1.0.25
Run-time dependency libpmem found: NO (tried pkgconfig)
Run-time dependency libdaxctl found: NO (tried pkgconfig)
Run-time dependency libtasn1 found: YES 4.18.0
Run-time dependency libkeyutils found: YES 1.6.1
Checking for function "gettid" : YES 
Run-time dependency libselinux found: NO (tried pkgconfig)
Run-time dependency fuse3 found: NO (tried pkgconfig)
Run-time dependency libbpf found: NO (tried pkgconfig)
Has header "sys/epoll.h" : YES 
Has header "linux/magic.h" : YES 
Has header "valgrind/valgrind.h" : NO 
Has header "linux/btrfs.h" : YES 
Has header "libdrm/drm.h" : YES 
Has header "pty.h" : YES 
Has header "sys/disk.h" : NO 
Has header "sys/ioccom.h" : NO 
Has header "sys/kcov.h" : NO 
Checking for function "close_range" : YES 
Checking for function "accept4" : YES 
Checking for function "clock_adjtime" : YES 
Checking for function "dup3" : YES 
Checking for function "fallocate" : YES 
Checking for function "posix_fallocate" : YES 
Checking for function "posix_memalign" : YES 
Checking for function "_aligned_malloc" : NO 
Checking for function "valloc" : YES 
Checking for function "memalign" : YES 
Checking for function "ppoll" : YES 
Checking for function "preadv" : YES 
Checking for function "pthread_fchdir_np" : NO 
Checking for function "sendfile" : YES 
Checking for function "setns" : YES 
Checking for function "unshare" : YES 
Checking for function "syncfs" : YES 
Checking for function "sync_file_range" : YES 
Checking for function "timerfd_create" : YES 
Checking for function "copy_file_range" : YES 
Checking for function "getifaddrs" : YES 
Checking for function "openpty" with dependency -lutil: YES 
Checking for function "strchrnul" : YES 
Checking for function "system" : YES 
Header <byteswap.h> has symbol "bswap_32" : YES 
Header <sys/epoll.h> has symbol "epoll_create1" : YES 
Header <linux/falloc.h> has symbol "FALLOC_FL_PUNCH_HOLE" : YES 
Header <linux/falloc.h> has symbol "FALLOC_FL_KEEP_SIZE" : YES 
Header <linux/falloc.h> has symbol "FALLOC_FL_ZERO_RANGE" : YES 
Has header "linux/fiemap.h" : YES 
Header <linux/fs.h> has symbol "FS_IOC_FIEMAP" : YES 
Checking for function "getrandom" : YES 
Header <sys/random.h> has symbol "GRND_NONBLOCK" : YES 
Header <sys/inotify.h> has symbol "inotify_init" : YES 
Header <sys/inotify.h> has symbol "inotify_init1" : YES 
Header <machine/bswap.h> has symbol "bswap32" : NO 
Header <sys/prctl.h> has symbol "PR_SET_TIMERSLACK" : YES 
Header <linux/rtnetlink.h> has symbol "IFLA_PROTO_DOWN" : YES 
Header <sys/sysmacros.h> has symbol "makedev" : YES 
Header <getopt.h> has symbol "optreset" : NO 
Header <netinet/in.h> has symbol "IPPROTO_MPTCP" : YES 
Header <sys/mount.h> has symbol "FSCONFIG_SET_FLAG" : NO 
Checking whether type "struct sigevent" has member "sigev_notify_thread_id" : NO 
Checking whether type "struct stat" has member "st_atim" : YES 
Checking for type "struct iovec" : YES 
Checking for type "struct utmpx" : YES 
Checking for type "struct mmsghdr" : YES 
Header <linux/vm_sockets.h> has symbol "AF_VSOCK" : YES 
Program scripts/minikconf.py found: YES (/usr/bin/python3.10 /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/scripts/minikconf.py)
Configuring aarch64-softmmu-config-target.h using configuration
Configuring aarch64-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/aarch64-softmmu-config-devices.mak.d
Configuring aarch64-softmmu-config-devices.h using configuration
Configuring alpha-softmmu-config-target.h using configuration
Configuring alpha-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/alpha-softmmu-config-devices.mak.d
Configuring alpha-softmmu-config-devices.h using configuration
Configuring arm-softmmu-config-target.h using configuration
Configuring arm-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/arm-softmmu-config-devices.mak.d
Configuring arm-softmmu-config-devices.h using configuration
Configuring avr-softmmu-config-target.h using configuration
Configuring avr-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/avr-softmmu-config-devices.mak.d
Configuring avr-softmmu-config-devices.h using configuration
Configuring cris-softmmu-config-target.h using configuration
Configuring cris-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/cris-softmmu-config-devices.mak.d
Configuring cris-softmmu-config-devices.h using configuration
Configuring hppa-softmmu-config-target.h using configuration
Configuring hppa-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/hppa-softmmu-config-devices.mak.d
Configuring hppa-softmmu-config-devices.h using configuration
Configuring i386-softmmu-config-target.h using configuration
Configuring i386-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/i386-softmmu-config-devices.mak.d
Configuring i386-softmmu-config-devices.h using configuration
Configuring loongarch64-softmmu-config-target.h using configuration
Configuring loongarch64-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/loongarch64-softmmu-config-devices.mak.d
Configuring loongarch64-softmmu-config-devices.h using configuration
Configuring m68k-softmmu-config-target.h using configuration
Configuring m68k-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/m68k-softmmu-config-devices.mak.d
Configuring m68k-softmmu-config-devices.h using configuration
Configuring microblazeel-softmmu-config-target.h using configuration
Configuring microblazeel-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/microblazeel-softmmu-config-devices.mak.d
Configuring microblazeel-softmmu-config-devices.h using configuration
Configuring microblaze-softmmu-config-target.h using configuration
Configuring microblaze-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/microblaze-softmmu-config-devices.mak.d
Configuring microblaze-softmmu-config-devices.h using configuration
Configuring mips64el-softmmu-config-target.h using configuration
Configuring mips64el-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/mips64el-softmmu-config-devices.mak.d
Configuring mips64el-softmmu-config-devices.h using configuration
Configuring mips64-softmmu-config-target.h using configuration
Configuring mips64-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/mips64-softmmu-config-devices.mak.d
Configuring mips64-softmmu-config-devices.h using configuration
Configuring mipsel-softmmu-config-target.h using configuration
Configuring mipsel-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/mipsel-softmmu-config-devices.mak.d
Configuring mipsel-softmmu-config-devices.h using configuration
Configuring mips-softmmu-config-target.h using configuration
Configuring mips-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/mips-softmmu-config-devices.mak.d
Configuring mips-softmmu-config-devices.h using configuration
Configuring nios2-softmmu-config-target.h using configuration
Configuring nios2-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/nios2-softmmu-config-devices.mak.d
Configuring nios2-softmmu-config-devices.h using configuration
Configuring or1k-softmmu-config-target.h using configuration
Configuring or1k-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/or1k-softmmu-config-devices.mak.d
Configuring or1k-softmmu-config-devices.h using configuration
Configuring ppc64-softmmu-config-target.h using configuration
Configuring ppc64-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/ppc64-softmmu-config-devices.mak.d
Configuring ppc64-softmmu-config-devices.h using configuration
Configuring ppc-softmmu-config-target.h using configuration
Configuring ppc-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/ppc-softmmu-config-devices.mak.d
Configuring ppc-softmmu-config-devices.h using configuration
Configuring riscv32-softmmu-config-target.h using configuration
Configuring riscv32-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/riscv32-softmmu-config-devices.mak.d
Configuring riscv32-softmmu-config-devices.h using configuration
Configuring riscv64-softmmu-config-target.h using configuration
Configuring riscv64-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/riscv64-softmmu-config-devices.mak.d
Configuring riscv64-softmmu-config-devices.h using configuration
Configuring rx-softmmu-config-target.h using configuration
Configuring rx-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/rx-softmmu-config-devices.mak.d
Configuring rx-softmmu-config-devices.h using configuration
Configuring s390x-softmmu-config-target.h using configuration
Configuring s390x-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/s390x-softmmu-config-devices.mak.d
Configuring s390x-softmmu-config-devices.h using configuration
Configuring sh4eb-softmmu-config-target.h using configuration
Configuring sh4eb-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/sh4eb-softmmu-config-devices.mak.d
Configuring sh4eb-softmmu-config-devices.h using configuration
Configuring sh4-softmmu-config-target.h using configuration
Configuring sh4-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/sh4-softmmu-config-devices.mak.d
Configuring sh4-softmmu-config-devices.h using configuration
Configuring sparc64-softmmu-config-target.h using configuration
Configuring sparc64-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/sparc64-softmmu-config-devices.mak.d
Configuring sparc64-softmmu-config-devices.h using configuration
Configuring sparc-softmmu-config-target.h using configuration
Configuring sparc-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/sparc-softmmu-config-devices.mak.d
Configuring sparc-softmmu-config-devices.h using configuration
Configuring tricore-softmmu-config-target.h using configuration
Configuring tricore-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/tricore-softmmu-config-devices.mak.d
Configuring tricore-softmmu-config-devices.h using configuration
Configuring x86_64-softmmu-config-target.h using configuration
Configuring x86_64-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/x86_64-softmmu-config-devices.mak.d
Configuring x86_64-softmmu-config-devices.h using configuration
Configuring xtensaeb-softmmu-config-target.h using configuration
Configuring xtensaeb-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/xtensaeb-softmmu-config-devices.mak.d
Configuring xtensaeb-softmmu-config-devices.h using configuration
Configuring xtensa-softmmu-config-target.h using configuration
Configuring xtensa-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/xtensa-softmmu-config-devices.mak.d
Configuring xtensa-softmmu-config-devices.h using configuration
Configuring aarch64_be-linux-user-config-target.h using configuration
Configuring aarch64-linux-user-config-target.h using configuration
Configuring alpha-linux-user-config-target.h using configuration
Configuring armeb-linux-user-config-target.h using configuration
Configuring arm-linux-user-config-target.h using configuration
Configuring cris-linux-user-config-target.h using configuration
Configuring hexagon-linux-user-config-target.h using configuration
Configuring hppa-linux-user-config-target.h using configuration
Configuring i386-linux-user-config-target.h using configuration
Configuring loongarch64-linux-user-config-target.h using configuration
Configuring m68k-linux-user-config-target.h using configuration
Configuring microblazeel-linux-user-config-target.h using configuration
Configuring microblaze-linux-user-config-target.h using configuration
Configuring mips64el-linux-user-config-target.h using configuration
Configuring mips64-linux-user-config-target.h using configuration
Configuring mipsel-linux-user-config-target.h using configuration
Configuring mips-linux-user-config-target.h using configuration
Configuring mipsn32el-linux-user-config-target.h using configuration
Configuring mipsn32-linux-user-config-target.h using configuration
Configuring nios2-linux-user-config-target.h using configuration
Configuring or1k-linux-user-config-target.h using configuration
Configuring ppc64le-linux-user-config-target.h using configuration
Configuring ppc64-linux-user-config-target.h using configuration
Configuring ppc-linux-user-config-target.h using configuration
Configuring riscv32-linux-user-config-target.h using configuration
Configuring riscv64-linux-user-config-target.h using configuration
Configuring s390x-linux-user-config-target.h using configuration
Configuring sh4eb-linux-user-config-target.h using configuration
Configuring sh4-linux-user-config-target.h using configuration
Configuring sparc32plus-linux-user-config-target.h using configuration
Configuring sparc64-linux-user-config-target.h using configuration
Configuring sparc-linux-user-config-target.h using configuration
Configuring x86_64-linux-user-config-target.h using configuration
Configuring xtensaeb-linux-user-config-target.h using configuration
Configuring xtensa-linux-user-config-target.h using configuration
Program scripts/make-config-poison.sh found: YES (/home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/scripts/make-config-poison.sh)
Run-time dependency capstone found: NO (tried pkgconfig)
Library fdt found: NO
Configuring config-host.h using configuration
Program scripts/hxtool found: YES (/home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/scripts/hxtool)
Program scripts/shaderinclude.pl found: YES (/usr/bin/env perl /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/scripts/shaderinclude.pl)
Program scripts/qapi-gen.py found: YES (/usr/bin/python3.10 /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/scripts/qapi-gen.py)
Program scripts/qemu-version.sh found: YES (/home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/scripts/qemu-version.sh)

Executing subproject libvhost-user 

libvhost-user| Project name: libvhost-user
libvhost-user| Project version: undefined
libvhost-user| C compiler for the host machine: cc -m64 -mcx16 (gcc 12.1.0 "cc (GCC) 12.1.0")
libvhost-user| C linker for the host machine: cc -m64 -mcx16 ld.bfd 2.38
libvhost-user| Dependency threads found: YES unknown (cached)
libvhost-user| Dependency glib-2.0 found: YES 2.72.3 (overridden)
libvhost-user| Build targets in project: 10
libvhost-user| Subproject libvhost-user finished.


Executing subproject libvduse 

libvduse| Project name: libvduse
libvduse| Project version: undefined
libvduse| C compiler for the host machine: cc -m64 -mcx16 (gcc 12.1.0 "cc (GCC) 12.1.0")
libvduse| C linker for the host machine: cc -m64 -mcx16 ld.bfd 2.38
libvduse| Build targets in project: 11
libvduse| Subproject libvduse finished.

Program scripts/decodetree.py found: YES (/usr/bin/python3.10 /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/scripts/decodetree.py)
Program ../scripts/modules/module_block.py found: YES (/usr/bin/python3.10 /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/block/../scripts/modules/module_block.py)
Program ../scripts/block-coroutine-wrapper.py found: YES (/usr/bin/python3.10 /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/block/../scripts/block-coroutine-wrapper.py)
Program scripts/modinfo-collect.py found: YES (/home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/scripts/modinfo-collect.py)
Program scripts/modinfo-generate.py found: YES (/home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/scripts/modinfo-generate.py)
Program nm found: YES
Program scripts/undefsym.py found: YES (/usr/bin/python3.10 /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/scripts/undefsym.py)
Program scripts/feature_to_c.sh found: YES (/bin/sh /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/scripts/feature_to_c.sh)
Configuring 50-edk2-i386-secure.json using configuration
Configuring 50-edk2-x86_64-secure.json using configuration
Configuring 60-edk2-aarch64.json using configuration
Configuring 60-edk2-arm.json using configuration
Configuring 60-edk2-i386.json using configuration
Configuring 60-edk2-x86_64.json using configuration
Program qemu-keymap found: NO
Program sphinx-build-3 sphinx-build found: NO
Program bash found: YES 5.1.16 (/usr/bin/bash)
Program diff found: YES (/usr/bin/diff)
Program dbus-daemon found: YES (/usr/bin/dbus-daemon)
Found CMake: /usr/bin/cmake (3.23.2)
Run-time dependency gvnc-1.0 found: NO (tried pkgconfig and cmake)
Program initrd-stress.sh found: YES (/home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/tests/migration/initrd-stress.sh)
Program xgettext found: YES (/usr/bin/xgettext)
Program msgfmt found: YES (/usr/bin/msgfmt)
Program msginit found: YES (/usr/bin/msginit)
Program msgmerge found: YES (/usr/bin/msgmerge)
Program xgettext found: YES (/usr/bin/xgettext)
Build targets in project: 722

qemu 7.2.0

  Directories
    Install prefix               : /usr/local
    BIOS directory               : share/qemu
    firmware path                : share/qemu-firmware
    binary directory             : /usr/local/bin
    library directory            : /usr/local/lib
    module directory             : lib/qemu
    libexec directory            : /usr/local/libexec
    include directory            : /usr/local/include
    config directory             : /usr/local/etc
    local state directory        : /var/local
    Manual directory             : /usr/local/share/man
    Doc directory                : /usr/local/share/doc
    Build directory              : /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build
    Source path                  : /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0
    GIT submodules               : ui/keycodemapdb tests/fp/berkeley-testfloat-3 tests/fp/berkeley-softfloat-3 dtc

  Host binaries
    git                          : git
    make                         : make
    python                       : /usr/bin/python3.10 (version: 3.10)
    sphinx-build                 : NO
    gdb                          : /usr/bin/gdb
    iasl                         : NO
    genisoimage                  : 

  Configurable features
    Documentation                : NO
    system-mode emulation        : YES
    user-mode emulation          : YES
    block layer                  : YES
    Install blobs                : YES
    module support               : NO
    fuzzing support              : NO
    Audio drivers                : pa oss
    Trace backends               : log
    D-Bus display                : YES
    QOM debugging                : NO
    vhost-kernel support         : YES
    vhost-net support            : YES
    vhost-user support           : YES
    vhost-user-crypto support    : YES
    vhost-user-blk server support: YES
    vhost-vdpa support           : YES
    build guest agent            : YES

  Compilation
    host CPU                     : x86_64
    host endianness              : little
    C compiler                   : cc -m64 -mcx16
    Host C compiler              : cc -m64 -mcx16
    C++ compiler                 : c++ -m64 -mcx16
    CFLAGS                       : -O2 -g
    CXXFLAGS                     : -O2 -g
    QEMU_CFLAGS                  : -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wold-style-declaration -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wimplicit-fallthrough=2 -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi -fstack-protector-strong
    QEMU_CXXFLAGS                : -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wundef -Wwrite-strings -fno-strict-aliasing -fno-common -fwrapv -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wendif-labels -Wexpansion-to-defined -Wimplicit-fallthrough=2 -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi -fstack-protector-strong
    QEMU_OBJCFLAGS               : -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wno-initializer-overrides -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-string-plus-int -Wno-typedef-redefinition -Wno-tautological-type-limit-compare -Wno-psabi -Wno-gnu-variable-sized-type-not-at-end
    QEMU_LDFLAGS                 : -fstack-protector-strong -Wl,-z,relro -Wl,-z,now -Wl,--warn-common
    profiler                     : NO
    link-time optimization (LTO) : NO
    PIE                          : YES
    static build                 : NO
    malloc trim support          : YES
    membarrier                   : NO
    debug stack usage            : NO
    mutex debugging              : NO
    memory allocator             : system
    avx2 optimization            : YES
    avx512f optimization         : NO
    gprof enabled                : NO
    gcov                         : NO
    thread sanitizer             : NO
    CFI support                  : NO
    strip binaries               : NO
    sparse                       : NO
    mingw32 support              : NO

  Cross compilers
    x86_64                       : cc

  Targets and accelerators
    KVM support                  : YES
    HAX support                  : NO
    HVF support                  : NO
    WHPX support                 : NO
    NVMM support                 : NO
    Xen support                  : NO
    TCG support                  : YES
    TCG backend                  : native (x86_64)
    TCG plugins                  : YES
    TCG debug enabled            : NO
    target list                  : aarch64-softmmu alpha-softmmu arm-softmmu avr-softmmu cris-softmmu hppa-softmmu i386-softmmu loongarch64-softmmu m68k-softmmu microblazeel-softmmu microblaze-softmmu mips64el-softmmu mips64-softmmu mipsel-softmmu mips-softmmu nios2-softmmu or1k-softmmu ppc64-softmmu ppc-softmmu riscv32-softmmu riscv64-softmmu rx-softmmu s390x-softmmu sh4eb-softmmu sh4-softmmu sparc64-softmmu sparc-softmmu tricore-softmmu x86_64-softmmu xtensaeb-softmmu xtensa-softmmu aarch64_be-linux-user aarch64-linux-user alpha-linux-user armeb-linux-user arm-linux-user cris-linux-user hexagon-linux-user hppa-linux-user i386-linux-user loongarch64-linux-user m68k-linux-user microblazeel-linux-user microblaze-linux-user mips64el-linux-user mips64-linux-user mipsel-linux-user mips-linux-user mipsn32el-linux-user mipsn32-linux-user nios2-linux-user or1k-linux-user ppc64le-linux-user ppc64-linux-user ppc-linux-user riscv32-linux-user riscv64-linux-user s390x-linux-user sh4eb-linux-user sh4-linux-user sparc32plus-linux-user sparc64-linux-user sparc-linux-user x86_64-linux-user xtensaeb-linux-user xtensa-linux-user
    default devices              : YES
    out of process emulation     : YES
    vfio-user server             : NO

  Block layer support
    coroutine backend            : ucontext
    coroutine pool               : YES
    Block whitelist (rw)         : 
    Block whitelist (ro)         : 
    Use block whitelist in tools : NO
    VirtFS support               : NO
    build virtiofs daemon        : NO
    Live block migration         : YES
    replication support          : YES
    bochs support                : YES
    cloop support                : YES
    dmg support                  : YES
    qcow v1 support              : YES
    vdi support                  : YES
    vvfat support                : YES
    qed support                  : YES
    parallels support            : YES
    FUSE exports                 : NO
    VDUSE block exports          : YES

  Crypto
    TLS priority                 : NORMAL
    GNUTLS support               : YES 3.7.3
      GNUTLS crypto              : YES
    libgcrypt                    : NO
    nettle                       : NO
    AF_ALG support               : NO
    rng-none                     : NO
    Linux keyring                : YES

  Dependencies
    SDL support                  : NO
    SDL image support            : NO
    GTK support                  : YES
    pixman                       : YES 0.40.0
    VTE support                  : NO
    slirp support                : NO
    libtasn1                     : YES 4.18.0
    PAM                          : YES
    iconv support                : YES
    curses support               : YES
    virgl support                : NO
    blkio support                : NO
    curl support                 : YES 7.84.0
    Multipath support            : NO
    PNG support                  : YES 1.6.37
    VNC support                  : YES
    VNC SASL support             : NO
    VNC JPEG support             : YES 2.1.2
    OSS support                  : YES
    sndio support                : NO
    ALSA support                 : YES 1.2.7.2
    PulseAudio support           : YES 16.1
    JACK support                 : NO
    brlapi support               : NO
    vde support                  : NO
    netmap support               : NO
    l2tpv3 support               : YES
    Linux AIO support            : YES
    Linux io_uring support       : NO
    ATTR/XATTR support           : YES
    RDMA support                 : NO
    PVRDMA support               : NO
    fdt support                  : internal
    libcap-ng support            : NO
    bpf support                  : NO
    spice protocol support       : NO
    rbd support                  : NO
    smartcard support            : NO
    U2F support                  : NO
    libusb                       : YES 1.0.25
    usb net redir                : NO
    OpenGL support (epoxy)       : YES 1.5.9
    GBM                          : YES 21.3.6
    libiscsi support             : NO
    libnfs support               : NO
    seccomp support              : NO
    GlusterFS support            : NO
    TPM support                  : YES
    libssh support               : NO
    lzo support                  : YES
    snappy support               : NO
    bzip2 support                : YES
    lzfse support                : NO
    zstd support                 : YES 1.5.2
    NUMA host support            : NO
    capstone                     : NO
    libpmem support              : NO
    libdaxctl support            : NO
    libudev                      : YES 251
    FUSE lseek                   : NO
    selinux                      : NO

  Subprojects
    libvduse                     : YES
    libvhost-user                : YES

  User defined options
    Native files                 : config-meson.cross
    prefix                       : /usr/local
    vfio_user_server             : disabled

Found ninja-1.11.0 at /usr/bin/ninja
Running postconf script '/usr/bin/python3.10 /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/scripts/symlink-install-tree.py'
  • 运行带上“--target-list”选项的configure:
$ ./configure --target-list=x86_64-softmmu
Using './build' as the directory for build output
The Meson build system
Version: 0.62.2
Source dir: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0
Build dir: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build
Build type: native build
Project name: qemu
Project version: 7.2.0
C compiler for the host machine: cc -m64 -mcx16 (gcc 12.1.0 "cc (GCC) 12.1.0")
C linker for the host machine: cc -m64 -mcx16 ld.bfd 2.38
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program scripts/symlink-install-tree.py found: YES (/usr/bin/python3.10 /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/scripts/symlink-install-tree.py)
Program sh found: YES (/usr/bin/sh)
Program python3 found: YES (/usr/bin/python3.10)
Program bzip2 found: YES (/usr/bin/bzip2)
Program iasl found: NO
Compiler for C supports link arguments -Wl,-z,relro: YES 
Compiler for C supports link arguments -Wl,-z,now: YES 
C++ compiler for the host machine: c++ -m64 -mcx16 (gcc 12.1.0 "c++ (GCC) 12.1.0")
C++ linker for the host machine: c++ -m64 -mcx16 ld.bfd 2.38
Compiler for C++ supports link arguments -Wl,--warn-common: YES 
Program cgcc found: NO
Library m found: YES
Run-time dependency threads found: YES
Library util found: YES
Run-time dependency appleframeworks found: NO (tried framework)
Found pkg-config: /usr/bin/pkg-config (0.29.2)
Run-time dependency gio-2.0 found: YES 2.72.3
Program /usr/bin/gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Run-time dependency gio-unix-2.0 found: YES 2.72.3
Run-time dependency pixman-1 found: YES 0.40.0
Run-time dependency zlib found: YES 1.2.12
Has header "libaio.h" : YES 
Library aio found: YES
Run-time dependency liburing found: NO (tried pkgconfig)
Run-time dependency libnfs found: NO (tried pkgconfig)
Run-time dependency appleframeworks found: NO (tried framework)
Run-time dependency appleframeworks found: NO (tried framework)
Run-time dependency libseccomp found: NO (tried pkgconfig)
Has header "cap-ng.h" : NO 
Run-time dependency xkbcommon found: YES 1.4.0
Run-time dependency slirp found: NO (tried pkgconfig)
Has header "libvdeplug.h" : NO 
Run-time dependency libpulse found: YES 16.1
Run-time dependency alsa found: YES 1.2.7.2
Run-time dependency jack found: NO (tried pkgconfig)
Run-time dependency sndio found: NO (tried pkgconfig)
Run-time dependency spice-protocol found: NO (tried pkgconfig)
Run-time dependency spice-server found: NO (tried pkgconfig)
Library rt found: YES
Run-time dependency libiscsi found: NO (tried pkgconfig)
Run-time dependency libzstd found: YES 1.5.2
Run-time dependency virglrenderer found: NO (tried pkgconfig)
Run-time dependency blkio found: NO (tried pkgconfig)
Run-time dependency libcurl found: YES 7.84.0
Run-time dependency libudev found: YES 251
Library mpathpersist found: NO
Run-time dependency ncursesw found: YES 6.3.20211021
Has header "brlapi.h" : NO 
sdl2-config found: NO
Run-time dependency sdl2 found: NO (tried pkgconfig and config-tool)
Library rados found: NO
Has header "rbd/librbd.h" : NO 
Run-time dependency glusterfs-api found: NO (tried pkgconfig)
Run-time dependency libssh found: NO (tried pkgconfig)
Has header "bzlib.h" : YES 
Library bz2 found: YES
Has header "lzfse.h" : NO 
Has header "sys/soundcard.h" : YES 
Run-time dependency epoxy found: YES 1.5.9
Has header "epoxy/egl.h" with dependency epoxy: YES 
Run-time dependency gbm found: YES 21.3.6
Run-time dependency gnutls found: YES 3.7.3
Run-time dependency gmp found: YES 6.2.1
Run-time dependency gtk+-3.0 found: YES 3.24.31
Run-time dependency gtk+-x11-3.0 found: YES 3.24.31
Run-time dependency vte-2.91 found: NO (tried pkgconfig)
Run-time dependency x11 found: YES 1.7.3.1
Run-time dependency libpng found: YES 1.6.37
Run-time dependency libjpeg found: YES 2.1.2
Has header "sasl/sasl.h" : NO 
Has header "security/pam_appl.h" : YES 
Library pam found: YES
Has header "snappy-c.h" : NO 
Has header "lzo/lzo1x.h" : YES 
Library lzo2 found: YES
Has header "numa.h" : NO 
Library ibumad found: NO
Has header "rdma/rdma_cma.h" : NO 
Library ibverbs found: NO
Run-time dependency xencontrol found: NO (tried pkgconfig)
Library xenstore found: NO
Library xenctrl found: NO
Library xendevicemodel found: NO
Library xenforeignmemory found: NO
Library xengnttab found: NO
Library xenevtchn found: NO
Library xentoolcore found: NO
Run-time dependency libcacard found: NO (tried pkgconfig)
Run-time dependency u2f-emu found: NO (tried pkgconfig)
Run-time dependency canokey-qemu found: NO (tried pkgconfig)
Run-time dependency libusbredirparser-0.5 found: NO (tried pkgconfig)
Run-time dependency libusb-1.0 found: YES 1.0.25
Run-time dependency libpmem found: NO (tried pkgconfig)
Run-time dependency libdaxctl found: NO (tried pkgconfig)
Run-time dependency libtasn1 found: YES 4.18.0
Run-time dependency libkeyutils found: YES 1.6.1
Checking for function "gettid" : YES 
Run-time dependency libselinux found: NO (tried pkgconfig)
Run-time dependency fuse3 found: NO (tried pkgconfig)
Run-time dependency libbpf found: NO (tried pkgconfig)
Has header "sys/epoll.h" : YES 
Has header "linux/magic.h" : YES 
Has header "valgrind/valgrind.h" : NO 
Has header "linux/btrfs.h" : YES 
Has header "libdrm/drm.h" : YES 
Has header "pty.h" : YES 
Has header "sys/disk.h" : NO 
Has header "sys/ioccom.h" : NO 
Has header "sys/kcov.h" : NO 
Checking for function "close_range" : YES 
Checking for function "accept4" : YES 
Checking for function "clock_adjtime" : YES 
Checking for function "dup3" : YES 
Checking for function "fallocate" : YES 
Checking for function "posix_fallocate" : YES 
Checking for function "posix_memalign" : YES 
Checking for function "_aligned_malloc" : NO 
Checking for function "valloc" : YES 
Checking for function "memalign" : YES 
Checking for function "ppoll" : YES 
Checking for function "preadv" : YES 
Checking for function "pthread_fchdir_np" : NO 
Checking for function "sendfile" : YES 
Checking for function "setns" : YES 
Checking for function "unshare" : YES 
Checking for function "syncfs" : YES 
Checking for function "sync_file_range" : YES 
Checking for function "timerfd_create" : YES 
Checking for function "copy_file_range" : YES 
Checking for function "getifaddrs" : YES 
Checking for function "openpty" with dependency -lutil: YES 
Checking for function "strchrnul" : YES 
Checking for function "system" : YES 
Header <byteswap.h> has symbol "bswap_32" : YES 
Header <sys/epoll.h> has symbol "epoll_create1" : YES 
Header <linux/falloc.h> has symbol "FALLOC_FL_PUNCH_HOLE" : YES 
Header <linux/falloc.h> has symbol "FALLOC_FL_KEEP_SIZE" : YES 
Header <linux/falloc.h> has symbol "FALLOC_FL_ZERO_RANGE" : YES 
Has header "linux/fiemap.h" : YES 
Header <linux/fs.h> has symbol "FS_IOC_FIEMAP" : YES 
Checking for function "getrandom" : YES 
Header <sys/random.h> has symbol "GRND_NONBLOCK" : YES 
Header <sys/inotify.h> has symbol "inotify_init" : YES 
Header <sys/inotify.h> has symbol "inotify_init1" : YES 
Header <machine/bswap.h> has symbol "bswap32" : NO 
Header <sys/prctl.h> has symbol "PR_SET_TIMERSLACK" : YES 
Header <linux/rtnetlink.h> has symbol "IFLA_PROTO_DOWN" : YES 
Header <sys/sysmacros.h> has symbol "makedev" : YES 
Header <getopt.h> has symbol "optreset" : NO 
Header <netinet/in.h> has symbol "IPPROTO_MPTCP" : YES 
Header <sys/mount.h> has symbol "FSCONFIG_SET_FLAG" : NO 
Checking whether type "struct sigevent" has member "sigev_notify_thread_id" : NO 
Checking whether type "struct stat" has member "st_atim" : YES 
Checking for type "struct iovec" : YES 
Checking for type "struct utmpx" : YES 
Checking for type "struct mmsghdr" : YES 
Header <linux/vm_sockets.h> has symbol "AF_VSOCK" : YES 
Program scripts/minikconf.py found: YES (/usr/bin/python3.10 /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/scripts/minikconf.py)
Configuring x86_64-softmmu-config-target.h using configuration
Configuring x86_64-softmmu-config-devices.mak with command
Reading depfile: /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build/meson-private/x86_64-softmmu-config-devices.mak.d
Configuring x86_64-softmmu-config-devices.h using configuration
Program scripts/make-config-poison.sh found: YES (/home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/scripts/make-config-poison.sh)
Run-time dependency capstone found: NO (tried pkgconfig)
Library fdt found: NO
Configuring config-host.h using configuration
Program scripts/hxtool found: YES (/home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/scripts/hxtool)
Program scripts/shaderinclude.pl found: YES (/usr/bin/env perl /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/scripts/shaderinclude.pl)
Program scripts/qapi-gen.py found: YES (/usr/bin/python3.10 /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/scripts/qapi-gen.py)
Program scripts/qemu-version.sh found: YES (/home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/scripts/qemu-version.sh)

Executing subproject libvhost-user 

libvhost-user| Project name: libvhost-user
libvhost-user| Project version: undefined
libvhost-user| C compiler for the host machine: cc -m64 -mcx16 (gcc 12.1.0 "cc (GCC) 12.1.0")
libvhost-user| C linker for the host machine: cc -m64 -mcx16 ld.bfd 2.38
libvhost-user| Dependency threads found: YES unknown (cached)
libvhost-user| Dependency glib-2.0 found: YES 2.72.3 (overridden)
libvhost-user| Build targets in project: 10
libvhost-user| Subproject libvhost-user finished.


Executing subproject libvduse 

libvduse| Project name: libvduse
libvduse| Project version: undefined
libvduse| C compiler for the host machine: cc -m64 -mcx16 (gcc 12.1.0 "cc (GCC) 12.1.0")
libvduse| C linker for the host machine: cc -m64 -mcx16 ld.bfd 2.38
libvduse| Build targets in project: 11
libvduse| Subproject libvduse finished.

Program scripts/decodetree.py found: YES (/usr/bin/python3.10 /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/scripts/decodetree.py)
Program ../scripts/modules/module_block.py found: YES (/usr/bin/python3.10 /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/block/../scripts/modules/module_block.py)
Program ../scripts/block-coroutine-wrapper.py found: YES (/usr/bin/python3.10 /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/block/../scripts/block-coroutine-wrapper.py)
Program scripts/modinfo-collect.py found: YES (/home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/scripts/modinfo-collect.py)
Program scripts/modinfo-generate.py found: YES (/home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/scripts/modinfo-generate.py)
Program nm found: YES
Program scripts/undefsym.py found: YES (/usr/bin/python3.10 /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/scripts/undefsym.py)
Program scripts/feature_to_c.sh found: YES (/bin/sh /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/scripts/feature_to_c.sh)
Configuring 50-edk2-i386-secure.json using configuration
Configuring 50-edk2-x86_64-secure.json using configuration
Configuring 60-edk2-aarch64.json using configuration
Configuring 60-edk2-arm.json using configuration
Configuring 60-edk2-i386.json using configuration
Configuring 60-edk2-x86_64.json using configuration
Program qemu-keymap found: NO
Program sphinx-build-3 sphinx-build found: NO
Program bash found: YES 5.1.16 (/usr/bin/bash)
Program diff found: YES (/usr/bin/diff)
Program dbus-daemon found: YES (/usr/bin/dbus-daemon)
Found CMake: /usr/bin/cmake (3.23.2)
Run-time dependency gvnc-1.0 found: NO (tried pkgconfig and cmake)
Program initrd-stress.sh found: YES (/home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/tests/migration/initrd-stress.sh)
Program xgettext found: YES (/usr/bin/xgettext)
Program msgfmt found: YES (/usr/bin/msgfmt)
Program msginit found: YES (/usr/bin/msginit)
Program msgmerge found: YES (/usr/bin/msgmerge)
Program xgettext found: YES (/usr/bin/xgettext)
Build targets in project: 535

qemu 7.2.0

  Directories
    Install prefix               : /usr/local
    BIOS directory               : share/qemu
    firmware path                : share/qemu-firmware
    binary directory             : /usr/local/bin
    library directory            : /usr/local/lib
    module directory             : lib/qemu
    libexec directory            : /usr/local/libexec
    include directory            : /usr/local/include
    config directory             : /usr/local/etc
    local state directory        : /var/local
    Manual directory             : /usr/local/share/man
    Doc directory                : /usr/local/share/doc
    Build directory              : /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/build
    Source path                  : /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0
    GIT submodules               : ui/keycodemapdb tests/fp/berkeley-testfloat-3 tests/fp/berkeley-softfloat-3 dtc

  Host binaries
    git                          : git
    make                         : make
    python                       : /usr/bin/python3.10 (version: 3.10)
    sphinx-build                 : NO
    gdb                          : /usr/bin/gdb
    iasl                         : NO
    genisoimage                  : 

  Configurable features
    Documentation                : NO
    system-mode emulation        : YES
    user-mode emulation          : NO
    block layer                  : YES
    Install blobs                : YES
    module support               : NO
    fuzzing support              : NO
    Audio drivers                : pa oss
    Trace backends               : log
    D-Bus display                : YES
    QOM debugging                : NO
    vhost-kernel support         : YES
    vhost-net support            : YES
    vhost-user support           : YES
    vhost-user-crypto support    : YES
    vhost-user-blk server support: YES
    vhost-vdpa support           : YES
    build guest agent            : YES

  Compilation
    host CPU                     : x86_64
    host endianness              : little
    C compiler                   : cc -m64 -mcx16
    Host C compiler              : cc -m64 -mcx16
    C++ compiler                 : c++ -m64 -mcx16
    CFLAGS                       : -O2 -g
    CXXFLAGS                     : -O2 -g
    QEMU_CFLAGS                  : -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wold-style-declaration -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wimplicit-fallthrough=2 -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi -fstack-protector-strong
    QEMU_CXXFLAGS                : -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wundef -Wwrite-strings -fno-strict-aliasing -fno-common -fwrapv -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wendif-labels -Wexpansion-to-defined -Wimplicit-fallthrough=2 -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi -fstack-protector-strong
    QEMU_OBJCFLAGS               : -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wno-initializer-overrides -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-string-plus-int -Wno-typedef-redefinition -Wno-tautological-type-limit-compare -Wno-psabi -Wno-gnu-variable-sized-type-not-at-end
    QEMU_LDFLAGS                 : -fstack-protector-strong -Wl,-z,relro -Wl,-z,now -Wl,--warn-common
    profiler                     : NO
    link-time optimization (LTO) : NO
    PIE                          : YES
    static build                 : NO
    malloc trim support          : YES
    membarrier                   : NO
    debug stack usage            : NO
    mutex debugging              : NO
    memory allocator             : system
    avx2 optimization            : YES
    avx512f optimization         : NO
    gprof enabled                : NO
    gcov                         : NO
    thread sanitizer             : NO
    CFI support                  : NO
    strip binaries               : NO
    sparse                       : NO
    mingw32 support              : NO

  Cross compilers
    x86_64                       : cc

  Targets and accelerators
    KVM support                  : YES
    HAX support                  : NO
    HVF support                  : NO
    WHPX support                 : NO
    NVMM support                 : NO
    Xen support                  : NO
    TCG support                  : YES
    TCG backend                  : native (x86_64)
    TCG plugins                  : YES
    TCG debug enabled            : NO
    target list                  : x86_64-softmmu
    default devices              : YES
    out of process emulation     : YES
    vfio-user server             : NO

  Block layer support
    coroutine backend            : ucontext
    coroutine pool               : YES
    Block whitelist (rw)         : 
    Block whitelist (ro)         : 
    Use block whitelist in tools : NO
    VirtFS support               : NO
    build virtiofs daemon        : NO
    Live block migration         : YES
    replication support          : YES
    bochs support                : YES
    cloop support                : YES
    dmg support                  : YES
    qcow v1 support              : YES
    vdi support                  : YES
    vvfat support                : YES
    qed support                  : YES
    parallels support            : YES
    FUSE exports                 : NO
    VDUSE block exports          : YES

  Crypto
    TLS priority                 : NORMAL
    GNUTLS support               : YES 3.7.3
      GNUTLS crypto              : YES
    libgcrypt                    : NO
    nettle                       : NO
    AF_ALG support               : NO
    rng-none                     : NO
    Linux keyring                : YES

  Dependencies
    SDL support                  : NO
    SDL image support            : NO
    GTK support                  : YES
    pixman                       : YES 0.40.0
    VTE support                  : NO
    slirp support                : NO
    libtasn1                     : YES 4.18.0
    PAM                          : YES
    iconv support                : YES
    curses support               : YES
    virgl support                : NO
    blkio support                : NO
    curl support                 : YES 7.84.0
    Multipath support            : NO
    PNG support                  : YES 1.6.37
    VNC support                  : YES
    VNC SASL support             : NO
    VNC JPEG support             : YES 2.1.2
    OSS support                  : YES
    sndio support                : NO
    ALSA support                 : YES 1.2.7.2
    PulseAudio support           : YES 16.1
    JACK support                 : NO
    brlapi support               : NO
    vde support                  : NO
    netmap support               : NO
    l2tpv3 support               : YES
    Linux AIO support            : YES
    Linux io_uring support       : NO
    ATTR/XATTR support           : YES
    RDMA support                 : NO
    PVRDMA support               : NO
    fdt support                  : internal
    libcap-ng support            : NO
    bpf support                  : NO
    spice protocol support       : NO
    rbd support                  : NO
    smartcard support            : NO
    U2F support                  : NO
    libusb                       : YES 1.0.25
    usb net redir                : NO
    OpenGL support (epoxy)       : YES 1.5.9
    GBM                          : YES 21.3.6
    libiscsi support             : NO
    libnfs support               : NO
    seccomp support              : NO
    GlusterFS support            : NO
    TPM support                  : YES
    libssh support               : NO
    lzo support                  : YES
    snappy support               : NO
    bzip2 support                : YES
    lzfse support                : NO
    zstd support                 : YES 1.5.2
    NUMA host support            : NO
    capstone                     : NO
    libpmem support              : NO
    libdaxctl support            : NO
    libudev                      : YES 251
    FUSE lseek                   : NO
    selinux                      : NO

  Subprojects
    libvduse                     : YES
    libvhost-user                : YES

  User defined options
    Native files                 : config-meson.cross
    prefix                       : /usr/local
    vfio_user_server             : disabled

Found ninja-1.11.0 at /usr/bin/ninja
Running postconf script '/usr/bin/python3.10 /home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/scripts/symlink-install-tree.py'

加上“--target-list=x86_64-softmmu代表”只使用x86架构的客户机,在编译时可以节省大量的编译时间。

在配置完成以后,QEMU源码根目录的build文件夹下会生成config-host.mak和config.status文件。

config-host.mak文件中可以查看执行configure后的结果,它会在后续make编译时被引用。不带“--target-list=x86_64-softmmu”选项时其内容如下:

# Automatically generated by configure - do not modify

all:
GIT=git
GIT_SUBMODULES=ui/keycodemapdb tests/fp/berkeley-testfloat-3 tests/fp/berkeley-softfloat-3 dtc
GIT_SUBMODULES_ACTION=ignore
CONFIG_POSIX=y
CONFIG_LINUX=y
SRC_PATH=/home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0
TARGET_DIRS=aarch64-softmmu alpha-softmmu arm-softmmu avr-softmmu cris-softmmu hppa-softmmu i386-softmmu loongarch64-softmmu m68k-softmmu microblazeel-softmmu microblaze-softmmu mips64el-softmmu mips64-softmmu mipsel-softmmu mips-softmmu nios2-softmmu or1k-softmmu ppc64-softmmu ppc-softmmu riscv32-softmmu riscv64-softmmu rx-softmmu s390x-softmmu sh4eb-softmmu sh4-softmmu sparc64-softmmu sparc-softmmu tricore-softmmu x86_64-softmmu xtensaeb-softmmu xtensa-softmmu aarch64_be-linux-user aarch64-linux-user alpha-linux-user armeb-linux-user arm-linux-user cris-linux-user hexagon-linux-user hppa-linux-user i386-linux-user loongarch64-linux-user m68k-linux-user microblazeel-linux-user microblaze-linux-user mips64el-linux-user mips64-linux-user mipsel-linux-user mips-linux-user mipsn32el-linux-user mipsn32-linux-user nios2-linux-user or1k-linux-user ppc64le-linux-user ppc64-linux-user ppc-linux-user riscv32-linux-user riscv64-linux-user s390x-linux-user sh4eb-linux-user sh4-linux-user sparc32plus-linux-user sparc64-linux-user sparc-linux-user x86_64-linux-user xtensaeb-linux-user xtensa-linux-user
CONFIG_COROUTINE_BACKEND=ucontext
CONFIG_PLUGIN=y
HAVE_GDB_BIN=/usr/bin/gdb
ROMS=
MAKE=make
PYTHON=/usr/bin/python3 -B
GENISOIMAGE=
MESON=/usr/bin/meson
NINJA=/usr/bin/ninja
CC=cc
QEMU_CFLAGS=-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wold-style-declaration -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wimplicit-fallthrough=2 -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi -fstack-protector-strong
QEMU_OBJCFLAGS= -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wno-initializer-overrides -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-string-plus-int -Wno-typedef-redefinition -Wno-tautological-type-limit-compare -Wno-psabi -Wno-gnu-variable-sized-type-not-at-end
GLIB_CFLAGS=-pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
GLIB_LIBS=-lgmodule-2.0 -pthread -lglib-2.0
GLIB_BINDIR=/usr/bin
GLIB_VERSION=2.72.3
QEMU_LDFLAGS= -fstack-protector-strong
EXESUF=
CONFIG_DEFAULT_TARGETS=y
TCG_TESTS_TARGETS= x86_64-softmmu x86_64-linux-user

带“--target-list=x86_64-softmmu”选项时其内容如下:

# Automatically generated by configure - do not modify

all:
GIT=git
GIT_SUBMODULES=ui/keycodemapdb tests/fp/berkeley-testfloat-3 tests/fp/berkeley-softfloat-3 dtc
GIT_SUBMODULES_ACTION=ignore
CONFIG_POSIX=y
CONFIG_LINUX=y
SRC_PATH=/home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0
TARGET_DIRS=x86_64-softmmu
CONFIG_COROUTINE_BACKEND=ucontext
CONFIG_PLUGIN=y
HAVE_GDB_BIN=/usr/bin/gdb
ROMS=
MAKE=make
PYTHON=/usr/bin/python3 -B
GENISOIMAGE=
MESON=/usr/bin/meson
NINJA=/usr/bin/ninja
CC=cc
QEMU_CFLAGS=-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wold-style-declaration -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wimplicit-fallthrough=2 -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi -fstack-protector-strong
QEMU_OBJCFLAGS= -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wno-initializer-overrides -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-string-plus-int -Wno-typedef-redefinition -Wno-tautological-type-limit-compare -Wno-psabi -Wno-gnu-variable-sized-type-not-at-end
GLIB_CFLAGS=-pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
GLIB_LIBS=-lgmodule-2.0 -pthread -lglib-2.0
GLIB_BINDIR=/usr/bin
GLIB_VERSION=2.72.3
QEMU_LDFLAGS= -fstack-protector-strong
EXESUF=
TCG_TESTS_TARGETS= x86_64-softmmu

config.status是为用户贴心设计的,便于后续要重新configure时,只要执行“./config.status”就可以恢复前一次configure的配置。不带“--target-list=x86_64-softmmu”选项时其内容如下:

#!/bin/sh
# Generated by configure.
# Run this file to recreate the current configuration.
# Compiler output produced by configure, useful for debugging
# configure, is in config.log if it exists.
unset AR
unset AS
unset CC
unset CFLAGS
unset CXX
unset CXXFLAGS
unset LD
unset LDFLAGS
unset LD_LIBRARY_PATH
unset MAKE
unset NM
unset OBJCFLAGS
unset OBJCOPY
PATH='/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/usr/jdk/bin:/usr/rustc/bin/:/usr/go/bin'
export PATH
unset PKG_CONFIG
unset PKG_CONFIG_LIBDIR
PKG_CONFIG_PATH='/usr/local/lib/pkgconfig'
export PKG_CONFIG_PATH
unset PYTHON
unset SDL2_CONFIG
unset SMBD
unset STRIP
unset WIDL
unset WINDRES
exec '/home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/configure' "$@"

带“--target-list=x86_64-softmmu”选项时其内容如下:

#!/bin/sh
# Generated by configure.
# Run this file to recreate the current configuration.
# Compiler output produced by configure, useful for debugging
# configure, is in config.log if it exists.
unset AR
unset AS
unset CC
unset CFLAGS
unset CXX
unset CXXFLAGS
unset LD
unset LDFLAGS
unset LD_LIBRARY_PATH
unset MAKE
unset NM
unset OBJCFLAGS
unset OBJCOPY
PATH='/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/usr/jdk/bin:/usr/rustc/bin/:/usr/go/bin'
export PATH
unset PKG_CONFIG
unset PKG_CONFIG_LIBDIR
PKG_CONFIG_PATH='/usr/local/lib/pkgconfig'
export PKG_CONFIG_PATH
unset PYTHON
unset SDL2_CONFIG
unset SMBD
unset STRIP
unset WIDL
unset WINDRES
exec '/home/penghao/QEMU_kvm/QEMU/source_codes/qemu-7.2.0/configure' '--target-list=x86_64-softmmu' "$@"