From: Sebastian Brzezinka <sebastian.brzezinka@intel.com>
To: Kamil Konieczny <kamil.konieczny@linux.intel.com>,
Sebastian Brzezinka <sebastian.brzezinka@intel.com>
Cc: <igt-dev@lists.freedesktop.org>, <krzysztof.karas@intel.com>
Subject: Re: [PATCH v3 i-g-t 1/4] tools/meson: make per-tool dependencies instead of using global deps
Date: Fri, 27 Feb 2026 10:53:48 +0100 [thread overview]
Message-ID: <DGPNIMCE0EFI.3C2BE5EIFUK5I@intel.com> (raw)
In-Reply-To: <20260226163004.34wvzcruzogb56tn@kamilkon-DESK.igk.intel.com>
On Thu Feb 26, 2026 at 5:30 PM CET, Kamil Konieczny wrote:
> Hi Sebastian,
> On 2026-02-19 at 15:14:50 +0100, Sebastian Brzezinka wrote:
>> Rework tools/meson.build to stop linking every tool against the full
>> global igt_deps set. Most tools do not require cairo, glib, udev,
>> pciaccess, or zlib, and the previous all‑tools‑get‑everything approach
>> pulled in unnecessary libraries.
>>
>> Introduce a small shared base dependency set (lib_igt, libdrm) and
>> switch to a per‑tool dependency dictionary. Tools now declare their
>> actual extra requirements explicitly, reducing over‑linking and making
>> dependency intent clearer.
>>
>> Fold previously standalone tool definitions into the unified tools_progs
>> structure and use consistent executable() creation. The tools list is
>> also reordered to keep it clean and logically grouped.
>>
>> This is a build‑system cleanup only; no functional behavior changes.
>>
>> Signed-off-by: Sebastian Brzezinka <sebastian.brzezinka@intel.com>
>> ---
>> tools/meson.build | 121 ++++++++++++++++++++++------------------------
>> 1 file changed, 57 insertions(+), 64 deletions(-)
>
> There is much work done with little gain and one regression.
Thanks for taking the time to run the comparison and share the results.
I’m aware that most of the changes in this series are focused on
improving clarity and structure rather than altering dependencies
themselves. The intent was mainly to make the tools dependency
requirements explicit and avoid the situation where every new library
ends up being linked by all tools.
> I used following script script:
>
> #!/bin/sh
> # SPDX-License-Identifier: MIT
>
> # compile igt source with changes in 'new' folder
> # keep non-modified compilation in 'old' folder
>
> cd new
> find build/tools/ -maxdepth 1 -type f | while read line; do
> nnew=$(ldd $line |wc -l)
> nold=$(ldd ../old/$line |wc -l)
> echo $nnew $nold $line
> done
> cd ..
>
> From output there are two tools with changes, regression:
>
> 10 7 build/tools/intel_gpu_top
Regarding the regression in intel_gpu_top, the additional dependencies
(libpcre2 and libglib‑2.0) come indirectly through lib/igt_tools_stub.c,
so that part is understood.
>
> improvement:
>
> 10 79 build/tools/lsgpu
>
> Can you create lsgpu linking like one done for intel_gpu_top
> and work on more improvements in this series?
I’m currently working on improving the series further. I’ll take a
closer look at lsgpu and see how much of the minimal linking approach
used for intel_gpu_top can be applied there as well. It may not be
entirely straightforward, but I’ll try to reduce the dependencies as
much as possible.
Thanks again for th feedback
--
Best regards,
Sebastian
next prev parent reply other threads:[~2026-02-27 9:53 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-19 14:14 [PATCH v3 i-g-t 0/4] meson/tools: split lightweight igt core and reduce tool dependencies Sebastian Brzezinka
2026-02-19 14:14 ` [PATCH v3 i-g-t 1/4] tools/meson: make per-tool dependencies instead of using global deps Sebastian Brzezinka
2026-02-24 11:19 ` Krzysztof Karas
2026-02-26 16:30 ` Kamil Konieczny
2026-02-27 9:53 ` Sebastian Brzezinka [this message]
2026-02-19 14:14 ` [PATCH v3 i-g-t 2/4] lib/igt_tools_stub: Add igt_load_igtrc() stub implementation Sebastian Brzezinka
2026-02-24 11:21 ` Krzysztof Karas
2026-02-19 14:14 ` [PATCH v3 i-g-t 3/4] lib/meson: build core sources as per-file static libs with minimal deps Sebastian Brzezinka
2026-02-19 14:14 ` [PATCH v3 i-g-t 4/4] tools/lsgpu: drop cairo and switch to igt_core Sebastian Brzezinka
2026-02-24 11:22 ` Krzysztof Karas
2026-02-19 17:20 ` ✓ Xe.CI.BAT: success for meson/tools: split lightweight igt core and reduce tool dependencies (rev4) Patchwork
2026-02-19 17:27 ` ✓ i915.CI.BAT: " Patchwork
2026-02-19 19:22 ` ✗ Xe.CI.FULL: failure " Patchwork
2026-02-23 12:38 ` Sebastian Brzezinka
2026-02-19 22:32 ` ✗ i915.CI.Full: " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DGPNIMCE0EFI.3C2BE5EIFUK5I@intel.com \
--to=sebastian.brzezinka@intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=kamil.konieczny@linux.intel.com \
--cc=krzysztof.karas@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox