QEMU Logo
9.2.0

Contents:

  • About QEMU
  • System Emulation
  • User Mode Emulation
  • Tools
  • System Emulation Management and Interoperability
  • System Emulation Guest Hardware Specifications
  • Developer Information
    • QEMU Community Processes
    • QEMU Build System
      • The QEMU build system architecture
      • QEMU and Kconfig
      • QEMU Documentation
      • How to use the QAPI code generator
      • Control-Flow Integrity (CFI)
    • Testing QEMU
    • Internal QEMU APIs
    • Internal Subsystem Information
    • TCG Emulation
QEMU
  • »
  • Developer Information »
  • QEMU Build System
  • Edit on GitLab

QEMU Build System¶

Details about how QEMU’s build system works. You will need to understand some of the basics if you are adding new files and targets to the build.

  • The QEMU build system architecture
    • Stage 1: configure
      • Modifying configure
      • Python virtual environments and the build process
      • Bundled Python packages
    • Stage 2: Meson
      • Adding checks
      • Support scripts
    • Stage 3: Make
      • Useful make targets
    • Important files for the build system
      • Statically defined files
      • Dynamically created files
  • QEMU and Kconfig
    • The Kconfig language
    • Guidelines for writing Kconfig files
    • Writing and modifying default configurations
    • Kconfig.host
  • QEMU Documentation
    • hxtool and .hx files
  • How to use the QAPI code generator
    • Introduction
    • The QAPI schema language
      • Schema syntax
      • Built-in Types
      • Include directives
      • Pragma directives
      • Enumeration types
      • Type references and array types
      • Struct types
      • Union types
      • Alternate types
      • Commands
      • Events
      • Features
      • Naming rules and reserved names
      • Downstream extensions
      • Configuring the schema
      • Documentation comments
    • Client JSON Protocol introspection
    • Compatibility considerations
    • Code generation
      • Code generated for QAPI types
      • Code generated for visiting QAPI types
      • Code generated for commands
      • Code generated for events
      • Code generated for introspection
  • Control-Flow Integrity (CFI)
    • Basics
    • Building with CFI
    • Using QEMU built with CFI
    • Incompatible code with CFI
    • Disabling CFI for a specific function
    • CFI and fuzzing
Next Previous

© Copyright 2025, The QEMU Project Developers.

Built with Sphinx using a theme provided by Read the Docs.

This documentation is for QEMU version 9.2.0.

QEMU and this manual are released under the GNU General Public License, version 2.