On 09/27/22 17:59, Daniel P. Berrangé wrote:
> On Tue, Sep 27, 2022 at 04:53:08PM +0200, Laszlo Ersek wrote:
>> On 09/26/22 14:09, Daniel P. Berrangé wrote:
>>> On Mon, Sep 26, 2022 at 12:59:21PM +0100, Richard W.M. Jones wrote:
>>>>
>>>> Apart from Dan's suggestions in patch 1, the series looks good to
me.
>>>>
>>>> FWIW RHEL 7 (the earliest distro with PCRE 2) has glib2 2.56.1 &
>>>> gtk3 3.22.30, so supporting any earlier versions also seems pointless,
>>>> so that might be another thing to review. We could make USE_POPOVERS
>>>> unconditional, and make gui-gtk3-compat.h considerably less
>>>> complicated.
>>>
>>> Say you pick 3.22 as your official min and check this with pkg-config
>>> in configure, then you can further define
>>>
>>> GDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_22
>>> GDK_VERSION_MAX_ALLOWED=GDK_VERSION_3_22
>>>
>>> The former will give you warnings if you use any API that was already
>>> deprecated in 3.22 - this is something that should be re-written to
>>> use the recommended modern alternative API.
>>
>> Is "GDK" a muscle-memory typo (because "GDK" does exist)?
Did you mean GTK?
>
> It looks odd, but I really do mean GDK here. It affects both the GDK
> and GTK include files (GDK is a layer below GTK).
Right, I've found a diagram here:
https://en.wikipedia.org/wiki/GDK
What I didn't know was that the GTK and GDK versions were supposed to be
in sync. In virt-p2v, we care about GTK (and maybe glib); I've not been
aware that we care about APIs at the GDK level. So enforcing a GDK
version seemed strange, as a proxy for the GTK version.
Practically speaking in terms of configure/meson checks it is sufficient
to merely check for GTK, as GTK's pkg-config file has a dependancy on
GDK's pkg-config file. It should be impossible end up with mis-matched
versions of GTK & GDK unless you've gone out of your way to intentionally
break their installation in some way.
It does mean you end up with the strange scenario, where you refer to
GTK for the pkg-config test, but for the API version checking #defines
I describe, you refer to GDK instead.
With regards,
Daniel
--
|: