[PATCH 0/4] express dependency of individual boards on libfdt

Paolo Bonzini posted 4 patches 1 week, 5 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240507071948.105022-1-pbonzini@redhat.com
Maintainers: "Alex Bennée" <alex.bennee@linaro.org>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Thomas Huth <thuth@redhat.com>, Wainer dos Santos Moschetta <wainersm@redhat.com>, Beraldo Leal <bleal@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Song Gao <gaosong@loongson.cn>, Jiaxun Yang <jiaxun.yang@flygoat.com>, Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <alistair.francis@wdc.com>, Bin Meng <bmeng.cn@gmail.com>, Weiwei Li <liwei1518@gmail.com>, Daniel Henrique Barboza <dbarboza@ventanamicro.com>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Peter Maydell <peter.maydell@linaro.org>, "Michael S. Tsirkin" <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Richard Henderson <richard.henderson@linaro.org>, Eduardo Habkost <eduardo@habkost.net>, Stafford Horne <shorne@gmail.com>, Nicholas Piggin <npiggin@gmail.com>, Yoshinori Sato <ysato@users.sourceforge.jp>, Max Filippov <jcmvbkbc@gmail.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
configs/targets/aarch64-softmmu.mak      |  1 +
configs/targets/arm-softmmu.mak          |  1 +
configs/targets/i386-softmmu.mak         |  1 -
configs/targets/loongarch64-softmmu.mak  |  1 +
configs/targets/microblaze-softmmu.mak   |  1 +
configs/targets/microblazeel-softmmu.mak |  1 +
configs/targets/mips64el-softmmu.mak     |  1 -
configs/targets/or1k-softmmu.mak         |  1 +
configs/targets/ppc-softmmu.mak          |  1 -
configs/targets/ppc64-softmmu.mak        |  1 +
configs/targets/riscv32-softmmu.mak      |  1 +
configs/targets/riscv64-softmmu.mak      |  1 +
configs/targets/rx-softmmu.mak           |  1 +
configs/targets/x86_64-softmmu.mak       |  1 -
meson.build                              | 82 ++++++++++++------------
hw/xtensa/xtfpga.c                       |  9 ---
.gitlab-ci.d/buildtest.yml               |  7 +-
Kconfig.host                             |  3 +
hw/arm/Kconfig                           |  5 ++
hw/arm/meson.build                       |  2 +-
hw/core/Kconfig                          |  9 ++-
hw/core/meson.build                      |  2 +-
hw/i386/Kconfig                          |  3 +-
hw/loongarch/Kconfig                     |  3 +-
hw/loongarch/meson.build                 |  2 +-
hw/mips/Kconfig                          |  1 +
hw/mips/meson.build                      |  2 +-
hw/openrisc/Kconfig                      |  2 +
hw/openrisc/meson.build                  |  4 +-
hw/ppc/Kconfig                           | 15 +++--
hw/ppc/meson.build                       |  4 +-
hw/riscv/Kconfig                         |  4 ++
hw/riscv/meson.build                     |  2 +-
hw/rx/Kconfig                            |  3 +-
hw/xtensa/Kconfig                        |  3 +-
meson_options.txt                        |  6 +-
scripts/meson-buildoptions.sh            |  4 +-
system/meson.build                       |  2 +-
target/arm/Kconfig                       |  2 +
target/microblaze/Kconfig                |  1 +
target/openrisc/Kconfig                  |  1 +
target/riscv/Kconfig                     |  2 +
42 files changed, 112 insertions(+), 87 deletions(-)
[PATCH 0/4] express dependency of individual boards on libfdt
Posted by Paolo Bonzini 1 week, 5 days ago
Just like we have boards that depend on TCG, not all boards in a
target may require libfdt.  Express one by one which boards do,
using Kconfig "depends on" and "select" directives, and use the
result to include system/device_tree.c in the build.

Some binaries do require libfdt altogether.  In a normal build without
--target-list or --enable-libfdt, these binaries will be disabled with a
message printed by meson.

Paolo

Paolo Bonzini (4):
  meson: remove system/internal distinction for libfdt
  kconfig: express dependency of individual boards on libfdt
  hw/xtensa: require libfdt
  configs: disable emulators that require it if libfdt is not found

 configs/targets/aarch64-softmmu.mak      |  1 +
 configs/targets/arm-softmmu.mak          |  1 +
 configs/targets/i386-softmmu.mak         |  1 -
 configs/targets/loongarch64-softmmu.mak  |  1 +
 configs/targets/microblaze-softmmu.mak   |  1 +
 configs/targets/microblazeel-softmmu.mak |  1 +
 configs/targets/mips64el-softmmu.mak     |  1 -
 configs/targets/or1k-softmmu.mak         |  1 +
 configs/targets/ppc-softmmu.mak          |  1 -
 configs/targets/ppc64-softmmu.mak        |  1 +
 configs/targets/riscv32-softmmu.mak      |  1 +
 configs/targets/riscv64-softmmu.mak      |  1 +
 configs/targets/rx-softmmu.mak           |  1 +
 configs/targets/x86_64-softmmu.mak       |  1 -
 meson.build                              | 82 ++++++++++++------------
 hw/xtensa/xtfpga.c                       |  9 ---
 .gitlab-ci.d/buildtest.yml               |  7 +-
 Kconfig.host                             |  3 +
 hw/arm/Kconfig                           |  5 ++
 hw/arm/meson.build                       |  2 +-
 hw/core/Kconfig                          |  9 ++-
 hw/core/meson.build                      |  2 +-
 hw/i386/Kconfig                          |  3 +-
 hw/loongarch/Kconfig                     |  3 +-
 hw/loongarch/meson.build                 |  2 +-
 hw/mips/Kconfig                          |  1 +
 hw/mips/meson.build                      |  2 +-
 hw/openrisc/Kconfig                      |  2 +
 hw/openrisc/meson.build                  |  4 +-
 hw/ppc/Kconfig                           | 15 +++--
 hw/ppc/meson.build                       |  4 +-
 hw/riscv/Kconfig                         |  4 ++
 hw/riscv/meson.build                     |  2 +-
 hw/rx/Kconfig                            |  3 +-
 hw/xtensa/Kconfig                        |  3 +-
 meson_options.txt                        |  6 +-
 scripts/meson-buildoptions.sh            |  4 +-
 system/meson.build                       |  2 +-
 target/arm/Kconfig                       |  2 +
 target/microblaze/Kconfig                |  1 +
 target/openrisc/Kconfig                  |  1 +
 target/riscv/Kconfig                     |  2 +
 42 files changed, 112 insertions(+), 87 deletions(-)

-- 
2.45.0