Hi On Wed, Apr 20, 2022 at 8:11 PM Thomas Huth <th...@redhat.com> wrote: > > On 20/04/2022 17.32, Marc-André Lureau wrote: > > Hi > > > > On Wed, Apr 20, 2022 at 7:24 PM Daniel P. Berrangé <berra...@redhat.com> > > wrote: > >> > >> On Wed, Apr 20, 2022 at 06:50:12PM +0400, Marc-André Lureau wrote: > >>> Hi > >>> > >>> On Wed, Apr 20, 2022 at 6:46 PM Marc-André Lureau > >>> <marcandre.lur...@redhat.com> wrote: > >>>> > >>>> Hi > >>>> > >>>> On Wed, Apr 20, 2022 at 6:37 PM Thomas Huth <th...@redhat.com> wrote: > >>>>> > >>>>> On 20/04/2022 16.10, Daniel P. Berrangé wrote: > >>>>>> On Wed, Apr 20, 2022 at 05:26:00PM +0400, marcandre.lur...@redhat.com > >>>>>> wrote: > >>>>>>> From: Marc-André Lureau <marcandre.lur...@redhat.com> > >>>>>>> > >>>>>>> According to our configure checks, this is the list of supported > >>>>>>> compilers. > >>>>>>> > >>>>>>> Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> > >>>>>>> Reviewed-by: Damien Hedde <damien.he...@greensocs.com> > >>>>>>> --- > >>>>>>> docs/about/build-platforms.rst | 10 ++++++++++ > >>>>>>> 1 file changed, 10 insertions(+) > >>>>>>> > >>>>>>> diff --git a/docs/about/build-platforms.rst > >>>>>>> b/docs/about/build-platforms.rst > >>>>>>> index c29a4b8fe649..1980c5d2476f 100644 > >>>>>>> --- a/docs/about/build-platforms.rst > >>>>>>> +++ b/docs/about/build-platforms.rst > >>>>>>> @@ -92,6 +92,16 @@ hosted on Linux (Debian/Fedora). > >>>>>>> The version of the Windows API that's currently targeted is Vista > >>>>>>> / Server > >>>>>>> 2008. > >>>>>>> > >>>>>>> +Supported compilers > >>>>>>> +------------------- > >>>>>>> + > >>>>>>> +To compile, QEMU requires either: > >>>>>>> + > >>>>>>> +- GCC >= 7.4.0 > >>>>>>> +- Clang >= 6.0 > >>>>>>> +- XCode Clang >= 10.0 > >>>>>> > >>>>>> Do we need to spell out the versions explicitly ? These versions are > >>>>>> all derived from what's available in the repos of the supported build > >>>>>> platforms, similar to any other build deps we have. I don't think we > >>>>>> want to start a precedent of duplicating versions in this doc for > >>>>>> build deps we have, and there's nothing particularly special about > >>>>>> compilers in this respect. > >>>>> > >>>>> I agree with Daniel - when I saw this patch, the first thought that I > >>>>> had > >>>>> was: "This will be getting out of sync quickly" ... > >>>> > >>>> I don't have the impression we bump our compiler requirement regularly > >>>> or lightly. > >>>> > >>>>> so I'd also recommend to rather not add this here. > >>>> > >>>> Outdated documentation is still better than no documentation. YMMV. > >>> > >>> Another question that is difficult to answer without being familiar > >>> with QEMU details is whether it can compile with MSVC. This > >>> documentation would, since it is explicit about the requirement. > >> > >> Documenting that we mandate GCC or Clang is reasonable. Ideally we could > >> have a list of all 3rd party deps we have in fact, I'm just not a fan of > >> copying the version numbers across from configure/meson. > >> > > > > I agree, duplicating the version information is not optimal... Yet it > > is better than not having it, or having to read or run configure imho. > > Well, no, it's better to have it in the configure script. Every user who > wants to compile QEMU will run the configure script, but not necessarily > read the documentation first.
Iirc, I came up with this question because I was modifying some header (something in compiler.h or atomic.h). My initial reaction was not to run configure. It would not help answer the question... > > > Sorry (or not) to insist, but it would help having an explicit list of > > supported compilers in the human doc > > ... and what about necessary libraries ... if you start with the compilers > here, shouldn't we also list the necessary versions of glib, libfdt, pixman, > etc. here? ... No, IMHO this really does not scale, you could maybe mention > that GCC or Clang is necessary, and maybe that you need at least glib to > compile QEMU, but listing the versions there is just duplicated information > that will be ugly to maintain, without too much real benefit for the users > (they already know whether their distro is supported or not), and way too > much hassle for the developers. > The compilers are (mostly) interchangeable, it's not the case for the dependencies. But it would be nice to document our strict requirements imho.