On 7/3/23 11:21, Marc-André Lureau wrote:
Hi

On Sat, Jul 1, 2023 at 1:49 AM Philippe Mathieu-Daudé <phi...@linaro.org <mailto:phi...@linaro.org>> wrote:

    Since its introduction in commit 142ca628a7 ("ui: add a D-Bus
    display backend"), dbus_display1 depends on pixman.
    Unfortunatly the refactor commit 1222070e77 ("meson: ensure
    dbus-display generated code is built before other units")
    dropped that dependency. Recently commit 6cc5a6159a ("ui/dbus:
    win32 support") expose this problem:

       In file included from include/ui/console.h:4,
                        from ui/dbus.h:31,
                        from ../audio/dbusaudio.c:36:
       include/ui/qemu-pixman.h:12:10: fatal error: pixman.h: No such file or 
directory
          12 | #include <pixman.h>
             |          ^~~~~~~~~~

    Restore the missing dependency on pixman.


I fail to understand how this would help.  dbus-display1 unit is pure GIO/GDBus code, no pixman involved. The derived library dependency is then used to build and link the dbus ui/ module.

meson dependencies

    -  dbus_display1_lib = static_library('dbus-display1', dbus_display1, 
dependencies: gio)
    +  dbus_display1_lib = static_library('dbus-display1', dbus_display1, 
dependencies:
    [gio, pixman])

like so, also include the set of -Iinclude-path-options to use when building the items that use it. Therefore, for the moment, Phil is correct.

While dbus-display1 might not use pixman itself, ui/dbus.h certainly does.
Perhaps the usage in ui/dbus.h is the greater mistake.


r~

Reply via email to