Re: [OE-core] [RFC] meson needs a pkg-config wrapper script

2021-12-01 Thread Joel Winarske
Actually the recipe pkgconfig_git.bb points to the freedesktop pkg-config repo, which is used by default. On Wed, Dec 1, 2021 at 3:27 PM Joel Winarske via lists.openembedded.org wrote: > Forgot the reply all, not intentional :) > > Looks like the build is using the pkgconfig flavor: > meta/recip

Re: [OE-core] [RFC] meson needs a pkg-config wrapper script

2021-12-01 Thread Joel Winarske
Forgot the reply all, not intentional :) Looks like the build is using the pkgconfig flavor: meta/recipes-devtools/pkgconfig/pkgconfig_git.bb Perhaps I just need a PREFERRED_PROVIDER_pkgconfig ?= "pkg-config" and pkg-config recipe, then perhaps it will just work. On Wed, Dec 1, 2021 at 2:39 PM A

Re: [OE-core] [RFC] meson needs a pkg-config wrapper script

2021-12-01 Thread Alexander Kanavin
Please keep the conversation on the list. Those are two different, independently developed projects: https://gitlab.freedesktop.org/pkg-config/pkg-config https://github.com/pkgconf/pkgconf and they are not fully compatible as you have just shown. I'm not sure how pkgconf is able to decide that in

Re: [OE-core] [RFC] meson needs a pkg-config wrapper script

2021-12-01 Thread Eero Aaltonen
You can use `${pcfiledir}/../..` within a pkg-config file to reference the install path. Unfortunately the last time I tried it when cross-compiling, the PKG_CONFIG_SYSROOT_DIR was ended up in the path as a duplicate. -Eero On Wed, 2021-12-01 at 09:36 +0100, Alexander Kanavin via lists.openembedd

Re: [OE-core] [RFC] meson needs a pkg-config wrapper script

2021-12-01 Thread Alexander Kanavin
No, it's not that. Even if you pass PKG_CONFIG_SYSROOT_DIR to pkg-config directly, it will apply that only to --cflags and similar, but not to generic --variable. Try this: alex@alex-lx-laptop:~$ PKG_CONFIG_SYSROOT_DIR=/ pkg-config libdrm --cflags -I//usr/include/libdrm alex@alex-lx-laptop

Re: [OE-core] [RFC] meson needs a pkg-config wrapper script

2021-11-30 Thread Joel Winarske
Based on my testing, if PKG_CONFIG_SYSROOT_DIR is set or not makes zero difference on the outcome. I suspect this is related to how pkg-config is launched by meson. Looking at the meson source tree, in all ci/test cross compile scenarios they reference a pkg-config wrapper. No cross compile scen

Re: [OE-core] [RFC] meson needs a pkg-config wrapper script

2021-11-30 Thread Ross Burton
On Tue, 30 Nov 2021 at 17:20, Joel Winarske wrote: > PKG_CONFIG_SYSROOT_DIR behaves like a simple string prepend to all package > config variable queries. So if you want to determine the absolute path of a > variable in .pc you set PKG_CONFIG_SYSROOT_DIR and make your query. > Currently this

Re: [OE-core] [RFC] meson needs a pkg-config wrapper script

2021-11-30 Thread Alexander Kanavin
On Tue, 30 Nov 2021 at 21:00, Joel Winarske wrote: > Yes, if the sys_root key value in meson.cross is present > PKG_CONFIG_SYSROOT_DIR gets set. Honister patch I confirmed with: > > https://github.com/jwinarske/manifests/blob/honister/rpi64/0001-Add-sys_root-to-properties-section.patch > > The i

Re: [OE-core] [RFC] meson needs a pkg-config wrapper script

2021-11-30 Thread Joel Winarske
Also all of the above requires this change: https://github.com/KhronosGroup/Vulkan-Loader/pull/756 On Tue, Nov 30, 2021 at 12:00 PM Joel Winarske wrote: > Yes, if the sys_root key value in meson.cross is present > PKG_CONFIG_SYSROOT_DIR gets set. Honister patch I confirmed with: > > https://gi

Re: [OE-core] [RFC] meson needs a pkg-config wrapper script

2021-11-30 Thread Joel Winarske
Yes, if the sys_root key value in meson.cross is present PKG_CONFIG_SYSROOT_DIR gets set. Honister patch I confirmed with: https://github.com/jwinarske/manifests/blob/honister/rpi64/0001-Add-sys_root-to-properties-section.patch The issue is that meson doesn't pass PKG_CONFIG_SYSROOT_DIR to the sh

Re: [OE-core] [RFC] meson needs a pkg-config wrapper script

2021-11-30 Thread Alexander Kanavin
I am seeing in mesonbuild/dependencies/pkgconfig.py sysroot = environment.properties[for_machine].get_sys_root() if sysroot: env['PKG_CONFIG_SYSROOT_DIR'] = sysroo So we probably need to ensure this 'sys_root' is correctly set, and then things will simply work? Alex

Re: [OE-core] [RFC] meson needs a pkg-config wrapper script

2021-11-30 Thread Joel Winarske
https://github.com/vkmark/vkmark/blob/master/src/meson.build#L9 On Tue, Nov 30, 2021 at 10:53 AM Alexander Kanavin wrote: > I do not quite understand the use case. What is being done with the full > path to the header? > > Alex > > On Tue, 30 Nov 2021 at 19:26, Joel Winarske > wrote: > >> This

Re: [OE-core] [RFC] meson needs a pkg-config wrapper script

2021-11-30 Thread Alexander Kanavin
I do not quite understand the use case. What is being done with the full path to the header? Alex On Tue, 30 Nov 2021 at 19:26, Joel Winarske wrote: > This pattern works to get the absolute path of the header: > > Yocto > > EXTRA_OEMESON += "--prefix ${STAGING_DIR_TARGET}/usr" > > Meson > >

Re: [OE-core] [RFC] meson needs a pkg-config wrapper script

2021-11-30 Thread Joel Winarske
This pattern works to get the absolute path of the header: Yocto EXTRA_OEMESON += "--prefix ${STAGING_DIR_TARGET}/usr" Meson vulkan_dep = dependency('vulkan') vulkan_hpp = join_paths([ vulkan_dep.get_pkgconfig_variable('includedir', define_variable: ['prefix', get_option('pr

Re: [OE-core] [RFC] meson needs a pkg-config wrapper script

2021-11-30 Thread Alexander Kanavin
On Tue, 30 Nov 2021 at 18:20, Joel Winarske wrote: > Meson does not expose PKG_CONFIG_SYSROOT_DIR to the pkg-config process. > > Currently meson.cross as generated in meson.bbclass points directly to the > pkg-config executable (no wrapper script). > > PKG_CONFIG_SYSROOT_DIR behaves like a simple

[OE-core] [RFC] meson needs a pkg-config wrapper script

2021-11-30 Thread Joel Winarske
Meson does not expose PKG_CONFIG_SYSROOT_DIR to the pkg-config process. Currently meson.cross as generated in meson.bbclass points directly to the pkg-config executable (no wrapper script). PKG_CONFIG_SYSROOT_DIR behaves like a simple string prepend to all package config variable queries. So if