On Fri, May 16, 2025 at 08:55 AM, Alexander Kanavin wrote:
If you need to supply these
arguments some other way, then you can follow for example mesa.inc and
define empty PACKAGECONFIGS:

PACKAGECONFIG[amd] = ""
PACKAGECONFIG[svga] = ""
PACKAGECONFIG[virgl] = ""

And then use them to form a custom variable, which you can use as you see fit:

GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG',
'gallium-llvm', '${GALLIUMDRIVERS_LLVM}', '', d)}"
GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'amd',
',r600', '', d)}"
  I think using PACKAGECONFIG to define cargo features list is a normal use-case in rust based recipes. With this change is not easily achievable because ${PACKAGECONFIG_CONFARGS} is unquoted in cargo.bbclass and we can't use it with CARGO_BUILD_FLAGS += " --features" if there are more than one feature.
  So, if the change is not going to be reverted then we realistically have two options - either complicate the recipes with a lot of conditions like you suggest or just add a comment that oe_cargo_build() is broken in cargo.bbclass and define our own do_compile()

Anton