scanner: Add autoconf macro to check for the proper scanner

Submitted by Quentin Glidic on Aug. 18, 2017, 9:30 a.m.

Details

Message ID 20170818093029.25903-1-sardemff7+wayland@sardemff7.net
State New
Headers show
Series "scanner: Add autoconf macro to check for the proper scanner" ( rev: 1 ) in Wayland

Not browsing as part of any series.

Commit Message

Quentin Glidic Aug. 18, 2017, 9:30 a.m.
From: Quentin Glidic <sardemff7+git@sardemff7.net>

Projects have been using various ways to check for the wayland-scanner,
mostly based on their developper own use case, and often not allowing
others use cases to work without a workaround.

Hopefully this macro will support all use cases without needing user
action.

Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
---

Everyone should test this macro for their own project and use cases.
Using the ${WAYLAND_SCANNER} variable should just work (assuming you have the proper
wayland package built in the expected env). In very very rare cases, setting the
WAYLAND_SCANNER variable as a ./configure argument may be needed, but nothing else.

Please let me know with enough details if your use case is not working with it.

 wayland-scanner.m4 | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

Patch hide | download patch | download mbox

diff --git a/wayland-scanner.m4 b/wayland-scanner.m4
index 4e4222a..37e0548 100644
--- a/wayland-scanner.m4
+++ b/wayland-scanner.m4
@@ -1,3 +1,5 @@ 
+#serial 2
+
 AC_DEFUN([WAYLAND_SCANNER_RULES], [
     PKG_PROG_PKG_CONFIG
 
@@ -11,3 +13,55 @@  AC_DEFUN([WAYLAND_SCANNER_RULES], [
 
     AC_SUBST([wayland_protocoldir], [$1])
 ])
+
+
+AC_DEFUN([_WL_PROG_WAYLAND_SCANNER_VERSION_CHECK], [
+    wl_cv_scanner_version=`${WAYLAND_SCANNER} --version 2>&1 | sed 's/^wayland-scanner //'`
+    AS_VERSION_COMPARE([${wl_cv_scanner_version}], [${wl_cv_scanner_wanted_version}], [], [
+        wl_cv_scanner_found=yes
+    ], [])
+])
+
+# WL_PROG_WAYLAND_SCANNER()
+AC_DEFUN([WL_PROG_WAYLAND_SCANNER], [
+    AC_REQUIRE([AC_CANONICAL_BUILD])
+    AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+    wl_cv_native_pkg_config=
+    AS_IF([test x${cross_compiling} = xyes], [
+        wl_cv_native_pkg_config=${build}-pkg-config
+        AC_PATH_PROGS([wl_cv_native_pkg_config], [${build}-pkg-config])
+    ])
+    AC_ARG_VAR([WAYLAND_SCANNER], [wayland-scanner executable])
+    wl_cv_scanner_found=no
+    wl_cv_scanner_wanted_version=`${PKG_CONFIG} --modversion wayland-server`
+    AC_MSG_CHECKING([that wayland-client and wayland-server versions are the same])
+    AS_IF([test ${wl_cv_scanner_wanted_version} = `${PKG_CONFIG} --modversion wayland-client`], [
+        AC_MSG_RESULT([ok])
+    ], [
+        AC_MSG_ERROR([mismatch])
+    ])
+    AC_MSG_CHECKING([for wayland-scanner ${wl_cv_scanner_wanted_version}])
+    AS_IF([test x${ac_cv_env_WAYLAND_SCANNER_set} = xset], [
+        _WL_PROG_WAYLAND_SCANNER_VERSION_CHECK()
+    ])
+    AS_IF([test x${cross_compiling} = xyes -a x${wl_cv_native_pkg_config} != xno], [
+        AS_IF([AC_RUN_LOG([${wl_cv_native_pkg_config} --exists --print-errors wayland-scanner = ${wl_cv_scanner_wanted_version}])], [
+            WAYLAND_SCANNER=`${wl_cv_native_pkg_config} --variable=wayland_scanner wayland-scanner = ${wl_cv_scanner_wanted_version}`
+            _WL_PROG_WAYLAND_SCANNER_VERSION_CHECK()
+        ])
+    ])
+    AS_IF([test x${wl_cv_scanner_found} = xno], [
+        AS_IF([AC_RUN_LOG([${PKG_CONFIG} --exists --print-errors wayland-scanner = ${wl_cv_scanner_wanted_version}])], [
+            WAYLAND_SCANNER=`${PKG_CONFIG} --variable=wayland_scanner wayland-scanner = ${wl_cv_scanner_wanted_version}`
+            _WL_PROG_WAYLAND_SCANNER_VERSION_CHECK()
+        ])
+    ])
+    AS_IF([test x${wl_cv_scanner_found} = xno], [
+        AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner])
+        _WL_PROG_WAYLAND_SCANNER_VERSION_CHECK()
+    ])
+    AS_IF([test x${wl_cv_scanner_found} = xno], [
+        AC_MSG_ERROR([no usable wayland-scanner executable version ${wl_cv_scanner_wanted_version}])
+    ])
+    AC_MSG_RESULT([${WAYLAND_SCANNER}])
+])

Comments

On 8/18/17 11:30 AM, Quentin Glidic wrote:
> From: Quentin Glidic <sardemff7+git@sardemff7.net>
> 
> Projects have been using various ways to check for the wayland-scanner,
> mostly based on their developper own use case, and often not allowing
> others use cases to work without a workaround.
> 
> Hopefully this macro will support all use cases without needing user
> action.
> 
> Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
> ---
> 
> Everyone should test this macro for their own project and use cases.
> Using the ${WAYLAND_SCANNER} variable should just work (assuming you have the proper
> wayland package built in the expected env). In very very rare cases, setting the
> WAYLAND_SCANNER variable as a ./configure argument may be needed, but nothing else.
> 
> Please let me know with enough details if your use case is not working with it.

Forgot the CCs while sending the patch.


>   wayland-scanner.m4 | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
>   1 file changed, 54 insertions(+)
> 
> diff --git a/wayland-scanner.m4 b/wayland-scanner.m4
> index 4e4222a..37e0548 100644
> --- a/wayland-scanner.m4
> +++ b/wayland-scanner.m4
> @@ -1,3 +1,5 @@
> +#serial 2
> +
>   AC_DEFUN([WAYLAND_SCANNER_RULES], [
>       PKG_PROG_PKG_CONFIG
>   
> @@ -11,3 +13,55 @@ AC_DEFUN([WAYLAND_SCANNER_RULES], [
>   
>       AC_SUBST([wayland_protocoldir], [$1])
>   ])
> +
> +
> +AC_DEFUN([_WL_PROG_WAYLAND_SCANNER_VERSION_CHECK], [
> +    wl_cv_scanner_version=`${WAYLAND_SCANNER} --version 2>&1 | sed 's/^wayland-scanner //'`
> +    AS_VERSION_COMPARE([${wl_cv_scanner_version}], [${wl_cv_scanner_wanted_version}], [], [
> +        wl_cv_scanner_found=yes
> +    ], [])
> +])
> +
> +# WL_PROG_WAYLAND_SCANNER()
> +AC_DEFUN([WL_PROG_WAYLAND_SCANNER], [
> +    AC_REQUIRE([AC_CANONICAL_BUILD])
> +    AC_REQUIRE([PKG_PROG_PKG_CONFIG])
> +    wl_cv_native_pkg_config=
> +    AS_IF([test x${cross_compiling} = xyes], [
> +        wl_cv_native_pkg_config=${build}-pkg-config
> +        AC_PATH_PROGS([wl_cv_native_pkg_config], [${build}-pkg-config])
> +    ])
> +    AC_ARG_VAR([WAYLAND_SCANNER], [wayland-scanner executable])
> +    wl_cv_scanner_found=no
> +    wl_cv_scanner_wanted_version=`${PKG_CONFIG} --modversion wayland-server`
> +    AC_MSG_CHECKING([that wayland-client and wayland-server versions are the same])
> +    AS_IF([test ${wl_cv_scanner_wanted_version} = `${PKG_CONFIG} --modversion wayland-client`], [
> +        AC_MSG_RESULT([ok])
> +    ], [
> +        AC_MSG_ERROR([mismatch])
> +    ])
> +    AC_MSG_CHECKING([for wayland-scanner ${wl_cv_scanner_wanted_version}])
> +    AS_IF([test x${ac_cv_env_WAYLAND_SCANNER_set} = xset], [
> +        _WL_PROG_WAYLAND_SCANNER_VERSION_CHECK()
> +    ])
> +    AS_IF([test x${cross_compiling} = xyes -a x${wl_cv_native_pkg_config} != xno], [
> +        AS_IF([AC_RUN_LOG([${wl_cv_native_pkg_config} --exists --print-errors wayland-scanner = ${wl_cv_scanner_wanted_version}])], [
> +            WAYLAND_SCANNER=`${wl_cv_native_pkg_config} --variable=wayland_scanner wayland-scanner = ${wl_cv_scanner_wanted_version}`
> +            _WL_PROG_WAYLAND_SCANNER_VERSION_CHECK()
> +        ])
> +    ])
> +    AS_IF([test x${wl_cv_scanner_found} = xno], [
> +        AS_IF([AC_RUN_LOG([${PKG_CONFIG} --exists --print-errors wayland-scanner = ${wl_cv_scanner_wanted_version}])], [
> +            WAYLAND_SCANNER=`${PKG_CONFIG} --variable=wayland_scanner wayland-scanner = ${wl_cv_scanner_wanted_version}`
> +            _WL_PROG_WAYLAND_SCANNER_VERSION_CHECK()
> +        ])
> +    ])
> +    AS_IF([test x${wl_cv_scanner_found} = xno], [
> +        AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner])
> +        _WL_PROG_WAYLAND_SCANNER_VERSION_CHECK()
> +    ])
> +    AS_IF([test x${wl_cv_scanner_found} = xno], [
> +        AC_MSG_ERROR([no usable wayland-scanner executable version ${wl_cv_scanner_wanted_version}])
> +    ])
> +    AC_MSG_RESULT([${WAYLAND_SCANNER}])
> +])
>
On Fri, 18 Aug 2017 11:36:17 +0200
Quentin Glidic <sardemff7+wayland@sardemff7.net> wrote:

> On 8/18/17 11:30 AM, Quentin Glidic wrote:
> > From: Quentin Glidic <sardemff7+git@sardemff7.net>
> > 
> > Projects have been using various ways to check for the wayland-scanner,
> > mostly based on their developper own use case, and often not allowing
> > others use cases to work without a workaround.
> > 
> > Hopefully this macro will support all use cases without needing user
> > action.
> > 
> > Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
> > ---
> > 
> > Everyone should test this macro for their own project and use cases.
> > Using the ${WAYLAND_SCANNER} variable should just work (assuming you have the proper
> > wayland package built in the expected env). In very very rare cases, setting the
> > WAYLAND_SCANNER variable as a ./configure argument may be needed, but nothing else.
> > 
> > Please let me know with enough details if your use case is not working with it.  
> 
> Forgot the CCs while sending the patch.
> 
> 
> >   wayland-scanner.m4 | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >   1 file changed, 54 insertions(+)
> > 
> > diff --git a/wayland-scanner.m4 b/wayland-scanner.m4
> > index 4e4222a..37e0548 100644
> > --- a/wayland-scanner.m4
> > +++ b/wayland-scanner.m4
> > @@ -1,3 +1,5 @@
> > +#serial 2
> > +
> >   AC_DEFUN([WAYLAND_SCANNER_RULES], [
> >       PKG_PROG_PKG_CONFIG
> >   
> > @@ -11,3 +13,55 @@ AC_DEFUN([WAYLAND_SCANNER_RULES], [
> >   
> >       AC_SUBST([wayland_protocoldir], [$1])
> >   ])
> > +
> > +
> > +AC_DEFUN([_WL_PROG_WAYLAND_SCANNER_VERSION_CHECK], [
> > +    wl_cv_scanner_version=`${WAYLAND_SCANNER} --version 2>&1 | sed 's/^wayland-scanner //'`
> > +    AS_VERSION_COMPARE([${wl_cv_scanner_version}], [${wl_cv_scanner_wanted_version}], [], [
> > +        wl_cv_scanner_found=yes
> > +    ], [])
> > +])
> > +

Hi Quentin,

this is nice, but I think it should also have a comment explaining how
it roughly finds a scanner. This is how I understood it:

1. If WAYLAND_SCANNER env var is set and compatible, use it. Otherwise,

2. if cross-compiling and the build pkg-config is found, use the scanner
   found via the build pkg-config if compatible. Otherwise,

3. use the scanner found via the default pkg-config if compatible.
   Otherwise,

4. use the scanner found in PATH if compatible. Otherwise,

5. fail.

"Compatible" means that the scanner version must be the same as the
libwayland version found for the host via default pkg-config. So we
also depend on the user projects using default pkg-config to find the
wayland-client and wayland-server libs.

It's also good that it is executing wayland-scanner to find out its
version, meaning that if that file is not actually executable on the
build machine, it will automatically not match.

> > +# WL_PROG_WAYLAND_SCANNER()
> > +AC_DEFUN([WL_PROG_WAYLAND_SCANNER], [
> > +    AC_REQUIRE([AC_CANONICAL_BUILD])
> > +    AC_REQUIRE([PKG_PROG_PKG_CONFIG])
> > +    wl_cv_native_pkg_config=
> > +    AS_IF([test x${cross_compiling} = xyes], [
> > +        wl_cv_native_pkg_config=${build}-pkg-config
> > +        AC_PATH_PROGS([wl_cv_native_pkg_config], [${build}-pkg-config])
> > +    ])
> > +    AC_ARG_VAR([WAYLAND_SCANNER], [wayland-scanner executable])
> > +    wl_cv_scanner_found=no
> > +    wl_cv_scanner_wanted_version=`${PKG_CONFIG} --modversion wayland-server`
> > +    AC_MSG_CHECKING([that wayland-client and wayland-server versions are the same])
> > +    AS_IF([test ${wl_cv_scanner_wanted_version} = `${PKG_CONFIG} --modversion wayland-client`], [
> > +        AC_MSG_RESULT([ok])
> > +    ], [
> > +        AC_MSG_ERROR([mismatch])
> > +    ])
> > +    AC_MSG_CHECKING([for wayland-scanner ${wl_cv_scanner_wanted_version}])
> > +    AS_IF([test x${ac_cv_env_WAYLAND_SCANNER_set} = xset], [
> > +        _WL_PROG_WAYLAND_SCANNER_VERSION_CHECK()
> > +    ])
> > +    AS_IF([test x${cross_compiling} = xyes -a x${wl_cv_native_pkg_config} != xno], [

Should this line also test that wl_cv_scanner_found==no? Does it not
overwrite the env var setting otherwise?

> > +        AS_IF([AC_RUN_LOG([${wl_cv_native_pkg_config} --exists --print-errors wayland-scanner = ${wl_cv_scanner_wanted_version}])], [
> > +            WAYLAND_SCANNER=`${wl_cv_native_pkg_config} --variable=wayland_scanner wayland-scanner = ${wl_cv_scanner_wanted_version}`
> > +            _WL_PROG_WAYLAND_SCANNER_VERSION_CHECK()
> > +        ])
> > +    ])
> > +    AS_IF([test x${wl_cv_scanner_found} = xno], [
> > +        AS_IF([AC_RUN_LOG([${PKG_CONFIG} --exists --print-errors wayland-scanner = ${wl_cv_scanner_wanted_version}])], [
> > +            WAYLAND_SCANNER=`${PKG_CONFIG} --variable=wayland_scanner wayland-scanner = ${wl_cv_scanner_wanted_version}`
> > +            _WL_PROG_WAYLAND_SCANNER_VERSION_CHECK()
> > +        ])
> > +    ])
> > +    AS_IF([test x${wl_cv_scanner_found} = xno], [
> > +        AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner])
> > +        _WL_PROG_WAYLAND_SCANNER_VERSION_CHECK()
> > +    ])
> > +    AS_IF([test x${wl_cv_scanner_found} = xno], [
> > +        AC_MSG_ERROR([no usable wayland-scanner executable version ${wl_cv_scanner_wanted_version}])
> > +    ])
> > +    AC_MSG_RESULT([${WAYLAND_SCANNER}])
> > +])
> >   

The idea looks fine to me, so:
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>


Thanks,
pq
Jussi, Tomek, Emil,

On 18 August 2017 at 10:36, Quentin Glidic
<sardemff7+wayland@sardemff7.net> wrote:
> On 8/18/17 11:30 AM, Quentin Glidic wrote:
>> Projects have been using various ways to check for the wayland-scanner,
>> mostly based on their developper own use case, and often not allowing
>> others use cases to work without a workaround.
>>
>> Hopefully this macro will support all use cases without needing user
>> action.
>>
>> Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
>> ---
>>
>> Everyone should test this macro for their own project and use cases.
>> Using the ${WAYLAND_SCANNER} variable should just work (assuming you have
>> the proper
>> wayland package built in the expected env). In very very rare cases,
>> setting the
>> WAYLAND_SCANNER variable as a ./configure argument may be needed, but
>> nothing else.
>>
>> Please let me know with enough details if your use case is not working
>> with it.

Any comments on Quentin's suggestion here? Would they be enough for you?

Cheers,
Daniel
Hi Quentin,
I've added Ross and Fabien, who've been looking at this for Yocto.

On 18 August 2017 at 10:30, Quentin Glidic
<sardemff7+wayland@sardemff7.net> wrote:
> --- a/wayland-scanner.m4
> +++ b/wayland-scanner.m4
> @@ -1,3 +1,5 @@
> +#serial 2

I don't quite understand the significance of this.

> +# WL_PROG_WAYLAND_SCANNER()
> +AC_DEFUN([WL_PROG_WAYLAND_SCANNER], [
> +    AC_REQUIRE([AC_CANONICAL_BUILD])
> +    AC_REQUIRE([PKG_PROG_PKG_CONFIG])
> +    wl_cv_native_pkg_config=
> +    AS_IF([test x${cross_compiling} = xyes], [
> +        wl_cv_native_pkg_config=${build}-pkg-config
> +        AC_PATH_PROGS([wl_cv_native_pkg_config], [${build}-pkg-config])

Ah, no thanks. I would prefer to have this passed in as
$HOST_PKG_CONFIG (following the $HOST_CC precedent), falling back to
just plain 'pkg-config'. Guessing triplets is a bit too much like
magic, especially when you can be 'cross-compiling' to the same
triplet.

> +    wl_cv_scanner_found=no
> +    wl_cv_scanner_wanted_version=`${PKG_CONFIG} --modversion wayland-server`
> +    AC_MSG_CHECKING([that wayland-client and wayland-server versions are the same])
> +    AS_IF([test ${wl_cv_scanner_wanted_version} = `${PKG_CONFIG} --modversion wayland-client`], [
> +        AC_MSG_RESULT([ok])
> +    ], [
> +        AC_MSG_ERROR([mismatch])
> +    ])
> +    AC_MSG_CHECKING([for wayland-scanner ${wl_cv_scanner_wanted_version}])
> +    AS_IF([test x${ac_cv_env_WAYLAND_SCANNER_set} = xset], [
> +        _WL_PROG_WAYLAND_SCANNER_VERSION_CHECK()
> +    ])
> +    AS_IF([test x${cross_compiling} = xyes -a x${wl_cv_native_pkg_config} != xno], [
> +        AS_IF([AC_RUN_LOG([${wl_cv_native_pkg_config} --exists --print-errors wayland-scanner = ${wl_cv_scanner_wanted_version}])], [
> +            WAYLAND_SCANNER=`${wl_cv_native_pkg_config} --variable=wayland_scanner wayland-scanner = ${wl_cv_scanner_wanted_version}`
> +            _WL_PROG_WAYLAND_SCANNER_VERSION_CHECK()
> +        ])
> +    ])
> +    AS_IF([test x${wl_cv_scanner_found} = xno], [
> +        AS_IF([AC_RUN_LOG([${PKG_CONFIG} --exists --print-errors wayland-scanner = ${wl_cv_scanner_wanted_version}])], [
> +            WAYLAND_SCANNER=`${PKG_CONFIG} --variable=wayland_scanner wayland-scanner = ${wl_cv_scanner_wanted_version}`
> +            _WL_PROG_WAYLAND_SCANNER_VERSION_CHECK()
> +        ])
> +    ])

I found this whole AS_IF forest pretty difficult to read. The last one
seems like we could also try to end up running a non-native version if
we fall through? It's also quite verbose on checking. Shrug.

The rest looks good to me, so assuming we can test it in Yocto and it
works fine there, then it should be good to merge.

Cheers,
Daniel
On 5 December 2017 at 13:15, Daniel Stone <daniel@fooishbar.org> wrote:

> Hi Quentin,
> I've added Ross and Fabien, who've been looking at this for Yocto.
>
> On 18 August 2017 at 10:30, Quentin Glidic
> <sardemff7+wayland@sardemff7.net> wrote:
> > --- a/wayland-scanner.m4
> > +++ b/wayland-scanner.m4
> > @@ -1,3 +1,5 @@
> > +#serial 2
>
> I don't quite understand the significance of this.
>

autoconf macros can be versioned and this is how that is done.  You don't
see it much in practise because the one piece of autoconf which should
respect the versions doesn't, but I approve of the intention!

Fixing aclocal is on my long list of Things To Do, but this involves 1)
autoconf 2) m4 so would mean more mental strength than I currently have.


> > +# WL_PROG_WAYLAND_SCANNER()
> > +AC_DEFUN([WL_PROG_WAYLAND_SCANNER], [
> > +    AC_REQUIRE([AC_CANONICAL_BUILD])
> > +    AC_REQUIRE([PKG_PROG_PKG_CONFIG])
> > +    wl_cv_native_pkg_config=
> > +    AS_IF([test x${cross_compiling} = xyes], [
> > +        wl_cv_native_pkg_config=${build}-pkg-config
> > +        AC_PATH_PROGS([wl_cv_native_pkg_config], [${build}-pkg-config])
>
> Ah, no thanks. I would prefer to have this passed in as
> $HOST_PKG_CONFIG (following the $HOST_CC precedent), falling back to
> just plain 'pkg-config'. Guessing triplets is a bit too much like
> magic, especially when you can be 'cross-compiling' to the same
> triplet.
>

I'm not aware of a precedent for "this is the host pkgconfig" but I endorse
HOST_PKG_CONFIG.  Clear semantics and we could export it globally.

It would be great if someone pushed that into pkg.m4...

The rest looks good to me, so assuming we can test it in Yocto and it
> works fine there, then it should be good to merge.
>

I'll definitely throw a v2 at our autobuilder cluster to see what happens.
This builds gtk+, xserver-xorg and gstreamer with wayland support, which
isn't everything but should be enough to find any gotchas.

Ross
On 4 December 2017 at 21:47, Daniel Stone <daniel@fooishbar.org> wrote:
> Jussi, Tomek, Emil,
>
> On 18 August 2017 at 10:36, Quentin Glidic
> <sardemff7+wayland@sardemff7.net> wrote:
>> On 8/18/17 11:30 AM, Quentin Glidic wrote:
>>> Projects have been using various ways to check for the wayland-scanner,
>>> mostly based on their developper own use case, and often not allowing
>>> others use cases to work without a workaround.
>>>
>>> Hopefully this macro will support all use cases without needing user
>>> action.
>>>
>>> Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
>>> ---
>>>
>>> Everyone should test this macro for their own project and use cases.
>>> Using the ${WAYLAND_SCANNER} variable should just work (assuming you have
>>> the proper
>>> wayland package built in the expected env). In very very rare cases,
>>> setting the
>>> WAYLAND_SCANNER variable as a ./configure argument may be needed, but
>>> nothing else.
>>>
>>> Please let me know with enough details if your use case is not working
>>> with it.
>
> Any comments on Quentin's suggestion here? Would they be enough for you?
>
I fear that the ship has sailed long time ago and there will be
practically zero users of this.

AFAICT people have been stacking band-aid for years as opposed to
addressing things properly.
With key offender being Yocto and similar tools :-\

I'll refrain from commenting further on the topic, I doubt it's be too
beneficial.
My earlier ramblings can be found in the ML archives [1].

That said, if people are happy with the patch do go ahead.

HTH
Emil

[1]
https://lists.freedesktop.org/archives/mesa-dev/2017-March/147163.html
https://lists.freedesktop.org/archives/mesa-dev/2017-May/157116.html
https://lists.freedesktop.org/archives/mesa-dev/2017-May/157203.html
Hi,

On 5 December 2017 at 14:08, Emil Velikov <emil.l.velikov@gmail.com> wrote:
> On 4 December 2017 at 21:47, Daniel Stone <daniel@fooishbar.org> wrote:
>> Any comments on Quentin's suggestion here? Would they be enough for you?
>
> I fear that the ship has sailed long time ago and there will be
> practically zero users of this.
>
> AFAICT people have been stacking band-aid for years as opposed to
> addressing things properly.
> With key offender being Yocto and similar tools :-\

The Yocto people are in this thread; they've already dropped a bunch
of local hacks they had throughout the tree in favour of proper
solutions upstream. Hopefully this will get the last of it out.

Cheers,
Daniel