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.openembedded.org 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 (#159020): https://lists.openembedded.org/g/openembedded-core/message/159020 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] -=-=-=-=-=-=-=-=-=-=-=-