)]}'
{
  "commit": "ef709860ea12ec59c4cd7373bd2fd7a4e50143ee",
  "tree": "3b94cb4f6db108611bedce7a1d8f71b661a672c9",
  "parents": [
    "23b2a3be999bd53cfac63325b8bc02a205f1fe5b"
  ],
  "author": {
    "name": "Paolo Bonzini",
    "email": "pbonzini@redhat.com",
    "time": "Thu May 04 10:20:46 2023 +0200"
  },
  "committer": {
    "name": "Paolo Bonzini",
    "email": "pbonzini@redhat.com",
    "time": "Mon May 08 19:04:52 2023 +0200"
  },
  "message": "meson: leave unnecessary modules out of the build\n\nmeson.build files choose whether to build modules based on foo.found()\nexpressions.  If a feature is enabled (e.g. --enable-gtk), these expressions\nare true even if the code is not used by any emulator, and this results\nin an unexpected difference between modular and non-modular builds.\n\nFor non-modular builds, the files are not included in any binary, and\ntherefore the source files are never processed.  For modular builds,\nhowever, all .so files are unconditionally built by default, and therefore\na normal \"make\" tries to build them.  However, the corresponding trace-*.h\nfiles are absent due to this conditional:\n\nif have_system\n  trace_events_subdirs +\u003d [\n    ...\n    \u0027ui\u0027,\n    ...\n  ]\nendif\n\nwhich was added to avoid wasting time running tracetool on unused trace-events\nfiles.  This causes a compilation failure; fix it by skipping module builds\nentirely if (depending on the module directory) have_block or have_system\nare false.\n\nReported-by: Michael Tokarev \u003cmjt@tls.msk.ru\u003e\nCc: qemu-stable@nongnu.org\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "229eb585f798391aba78ead7a42292eabadcde26",
      "old_mode": 33188,
      "old_path": "meson.build",
      "new_id": "27782f8f52e1045cf9c4a6d63486570e7c0bf98f",
      "new_mode": 33188,
      "new_path": "meson.build"
    }
  ]
}
