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
<joel.winarske=gmail....@lists.openembedded.org> wrote:

> 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 Alexander Kanavin <alex.kana...@gmail.com>
> wrote:
>
>> 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 includedir is a path
>> (short of hardcoding that inside the source somewhere), but such logic
>> needs to be carefully investigated before we make use of it, e.g. by
>> switching to pkgconf in oe-core.
>>
>> Alex
>>
>> On Wed, 1 Dec 2021 at 23:31, Joel Winarske <joel.winar...@gmail.com>
>> wrote:
>>
>>> pkg-config --version ?
>>>
>>> Using 0.29.2 I get the same output as you:
>>> $ PKG_CONFIG_SYSROOT_DIR=$STAGING_DIR_TARGET
>>> /home/linuxbrew/.linuxbrew/bin/pkg-config --define-variable=prefix=/opt
>>> --variable=includedir glesv2
>>> /usr/include
>>>
>>> Using 1.7.3 it works:
>>>
>>> STAGING_DIR_TARGET=/b/github-ci/_work/meta-flutter/rpi4-drm-honister-latest/raspberrypi4-64/tmp/work/cortexa72-poky-linux/vkmark/git-r0/recipe-sysroot
>>> PKG_CONFIG_SYSROOT_DIR=$STAGING_DIR_TARGET /usr/bin/pkg-config
>>> --variable=includedir glesv2
>>>
>>> /b/github-ci/_work/meta-flutter/rpi4-drm-honister-latest/raspberrypi4-64/tmp/work/cortexa72-poky-linux/vkmark/git-r0/recipe-sysroot/usr/include
>>>
>>> $ /usr/bin/pkg-config --version
>>> 1.7.3
>>>
>>> $ /home/linuxbrew/.linuxbrew/bin/pkg-config --version
>>> 0.29.2
>>>
>>> On Wed, Dec 1, 2021 at 12:36 AM Alexander Kanavin <
>>> alex.kana...@gmail.com> wrote:
>>>
>>>> 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=/aaaa pkg-config libdrm
>>>> --cflags
>>>> -I/aaaa/usr/include/libdrm
>>>> alex@alex-lx-laptop:~$ PKG_CONFIG_SYSROOT_DIR=/aaaa pkg-config libdrm
>>>> --variable=includedir
>>>> /usr/include
>>>>
>>>> So a wrapper will not solve the 'includedir prefix' problem, and
>>>> neither the wrapper, nor pkg-config or meson can possibly know which
>>>> variable is a path, and which isn't - the only place where that is known is
>>>> the component that obtains the variable. And so that's where it has to be
>>>> prefixed.
>>>>
>>>> Alex
>>>>
>>>> On Tue, 30 Nov 2021 at 23:38, Joel Winarske <joel.winar...@gmail.com>
>>>> wrote:
>>>>
>>>>> 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 scenario 
>>>>> I
>>>>> see referencing the 'pkgconfig' key uses a bare pkg-config.
>>>>>
>>>>>     cross/armclang-linux.txt:#pkgconfig =
>>>>> '/usr/bin/arm-linux-gnueabihf-pkg-config'
>>>>>     cross/linux-mingw-w64-32bit.txt:pkgconfig =
>>>>> '/usr/bin/i686-w64-mingw32-pkg-config'
>>>>>     cross/linux-mingw-w64-64bit.txt:pkgconfig =
>>>>> '/usr/bin/x86_64-w64-mingw32-pkg-config'
>>>>>     cross/ubuntu-armhf.txt:pkgconfig =
>>>>> '/usr/bin/arm-linux-gnueabihf-pkg-config'
>>>>>     test cases/unit/33 cross file overrides always
>>>>> args/ubuntu-armhf-overrides.txt:pkgconfig =
>>>>> '/usr/bin/arm-linux-gnueabihf-pkg-config'
>>>>>     test cases/unit/36 exe_wrapper
>>>>> behaviour/broken-cross.txt:pkgconfig =
>>>>> '/usr/bin/x86_64-w64-mingw32-pkg-config'
>>>>>
>>>>> I think adding a wrapper makes sense.
>>>>>
>>>>> 5.2 Tool Calling Conventions -
>>>>> https://autotools.io/pkgconfig/cross-compiling.html
>>>>>
>>>>> On Tue, Nov 30, 2021 at 12:13 PM Alexander Kanavin <
>>>>> alex.kana...@gmail.com> wrote:
>>>>>
>>>>>> On Tue, 30 Nov 2021 at 21:00, Joel Winarske <joel.winar...@gmail.com>
>>>>>> 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 issue is that meson doesn't pass PKG_CONFIG_SYSROOT_DIR to the
>>>>>>> shell environment that runs pkg-config, as with the pkg-config sandbox 
>>>>>>> test
>>>>>>> it does work.
>>>>>>>
>>>>>>
>>>>>> Both meson source code and its documentation indicate otherwise - if
>>>>>> you set sys_root property, it will get passed to pkg-config via 
>>>>>> environment
>>>>>> as PKG_CONFIG_SYSROOT_DIR:
>>>>>>
>>>>>> https://github.com/mesonbuild/meson/blob/master/mesonbuild/dependencies/pkgconfig.py#L121
>>>>>>
>>>>>> Alex
>>>>>>
>>>>>>
> 
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#159069): 
https://lists.openembedded.org/g/openembedded-core/message/159069
Mute This Topic: https://lists.openembedded.org/mt/87407703/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to