qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[RFC PATCH 0/5] buildsys: Do not use internal fdt library when asked for


From: Philippe Mathieu-Daudé
Subject: [RFC PATCH 0/5] buildsys: Do not use internal fdt library when asked for the system one
Date: Tue, 11 May 2021 17:53:49 +0200

Attempt to fix the issue reported by John when building
with an outdated libfdt.

For now it changes:

  hw/ppc/spapr_hcall.c: In function =E2=80=98h_update_dt=E2=80=99:
  hw/ppc/spapr_hcall.c:1966:9: warning: implicit declaration of function =E2=
=80=98fdt_check_full=E2=80=99; did you mean =E2=80=98fdt_check_header=E2=80=
=99? [-Wimplicit-function-declaration]
   1966 |     if (fdt_check_full(fdt, cb)) {
        |         ^~~~~~~~~~~~~~
        |         fdt_check_header
  hw/ppc/spapr_hcall.c:1966:9: warning: nested extern declaration of =E2=80=
=98fdt_check_full=E2=80=99 [-Wnested-externs]
  [...]
  /usr/bin/ld: libqemu-ppc64-softmmu.fa.p/hw_ppc_spapr_hcall.c.o: in function=
 `h_update_dt':
  hw/ppc/spapr_hcall.c:1966: undefined reference to `fdt_check_full'
  collect2: error: ld returned 1 exit status

by:

  qemu/meson.build:1352:4: ERROR: Running configure command failed.
  The following clauses were found for PSERIES

    CONFIG_PSERIES=3Dy
    config PSERIES depends on FDT

which is not better, but one step at a time...

John said: https://gitlab.com/qemu-project/qemu/-/issues/255#note_572421108

  Distributions usually don't used embedded copies of libraries,
  so the configure script should require the correct minimum version.

Personally I'd rather allow users to build the most of QEMU with what is
available, that is all possible machines except pSeries, making pSeries
machine selected by default and deselected if not possible, with this
change:

-- >8 --
diff --git a/default-configs/devices/ppc64-softmmu.mak b/default-configs/devi=
ces/ppc64-softmmu.mak
index cca52665d90..62339661fca 100644
--- a/default-configs/devices/ppc64-softmmu.mak
+++ b/default-configs/devices/ppc64-softmmu.mak
@@ -5,6 +5,3 @@ include ppc-softmmu.mak

 # For PowerNV
 CONFIG_POWERNV=3Dy
-
-# For pSeries
-CONFIG_PSERIES=3Dy
diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
index 3935b73456f..706debd4fee 100644
--- a/hw/ppc/Kconfig
+++ b/hw/ppc/Kconfig
@@ -1,5 +1,6 @@
 config PSERIES
     bool
+    default y
     depends on FDT
     imply PCI_DEVICES
     imply TEST_DEVICES
---

But I suppose it breaks user expectations.

Thoughts?

Regards,

Phil.

Philippe Mathieu-Daud=C3=A9 (5):
  hw/mem/nvdimm: Use Kconfig 'imply' instead of 'depends on'
  Kconfig: Declare 'FDT' host symbol
  hw/ppc: Have pSeries depends on libfdt (via host Kconfig FDT symbol)
  hw/ppc/fdt: Drop dependency on libfdt
  meson: Do not use internal fdt library if user asked for the system
    one

 default-configs/devices/ppc64-softmmu.mak | 1 -
 meson.build                               | 2 +-
 Kconfig.host                              | 3 +++
 hw/arm/Kconfig                            | 1 +
 hw/i386/Kconfig                           | 1 +
 hw/mem/Kconfig                            | 2 --
 hw/ppc/Kconfig                            | 2 ++
 hw/ppc/meson.build                        | 8 ++++----
 8 files changed, 12 insertions(+), 8 deletions(-)

--=20
2.26.3





reply via email to

[Prev in Thread] Current Thread [Next in Thread]