[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] meson.build: Refuse XCode versions < v15.0
From: |
Daniel P . Berrangé |
Subject: |
Re: [PATCH] meson.build: Refuse XCode versions < v15.0 |
Date: |
Tue, 26 Nov 2024 09:23:49 +0000 |
User-agent: |
Mutt/2.2.12 (2023-09-09) |
On Tue, Nov 26, 2024 at 09:57:15AM +0100, Philippe Mathieu-Daudé wrote:
> On 26/11/24 09:10, Thomas Huth wrote:
> > According to our support policy, we only support the two latest
> > major versions of macOS, and we already removed compatibility code
> > for older versions. However, it's still possible that people install
> > an older version of XCode on a recent version of macOS - which won't
> > be able to compile QEMU anymore, see for example the ticket here:
> >
> > https://gitlab.com/qemu-project/qemu/-/issues/2694
>
> Wondering about this issue, it is possible to install concurrent
> XCode versions, which is useful i.e. when you build an application
> targeting multiple (and older) App Store releases. See:
> https://xcodereleases.com/
That's true of any platform. You can get many GCC versions for Debian
and Fedora too.
> Maybe we need to clarify our support policy that we only support
> the XCode released with the 2 latest major macOS versions?
We implicitly support the XCode versions that are the "default" with
the latest 2 macOS versions.
> > @@ -315,8 +315,8 @@ foreach lang : all_languages
> > # ok
> > elif compiler.get_id() == 'clang' and compiler.compiles('''
> > #ifdef __apple_build_version__
> > - # if __clang_major__ < 12 || (__clang_major__ == 12 &&
> > __clang_minor__ < 0)
> > - # error You need at least XCode Clang v12.0 to compile QEMU
> > + # if __clang_major__ < 15 || (__clang_major__ == 15 &&
> > __clang_minor__ < 0)
> > + # error You need at least XCode Clang v15.0 to compile QEMU
> > # endif
> > #else
> > # if __clang_major__ < 10 || (__clang_major__ == 10 &&
> > __clang_minor__ < 0)
> > @@ -325,7 +325,7 @@ foreach lang : all_languages
> > #endif''')
> > # ok
> > else
> > - error('You either need GCC v7.4 or Clang v10.0 (or XCode Clang v12.0)
> > to compile QEMU')
> > + error('You either need GCC v7.4 or Clang v10.0 (or XCode Clang v15.0)
> > to compile QEMU')
>
> BTW apparently CentOS 8 (which we don't support anymore IIRC)
> provides Clang 12.0.1, and also Ubuntu 22.04, Alpine 3.16.
>
> I wonder if the relation with XCode __apple_build_version__ is
> always __clang_major__ + 3...
No, it isn't. It varies all over the place -
eg
>From xcode 11.3 to 11.4 they bump from llvm 8.0.0 to 9.0.0, while the
clang version goes from 11.0.0 to 11.0.3.
>From xcode 15.4 to 16.0 they from llmvm 16.0.0 to 17.0.6, while the
clang version goes from 15.0.0 to 16.0.0.
I can just about interpret a rule they're following, but relating that
to the upstream clang versions algorithmically is impossible.
https://en.wikipedia.org/wiki/Xcode#Toolchain_versions
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|