<div dir="ltr">On 29 May 2017 at 15:20, Emil Velikov <<a href="mailto:emil.l.velikov@gmail.com">emil.l.velikov@gmail.com</a>> wrote:<br>><br>> On 26 May 2017 at 14:55, Jussi Kukkonen <<a href="mailto:jussi.kukkonen@intel.com">jussi.kukkonen@intel.com</a>> wrote:<br>> > On 26 May 2017 at 14:32, Emil Velikov <<a href="mailto:emil.l.velikov@gmail.com">emil.l.velikov@gmail.com</a>> wrote:<br>> >><br>> >> On 26 May 2017 at 08:52, Jussi Kukkonen <<a href="mailto:jussi.kukkonen@intel.com">jussi.kukkonen@intel.com</a>> wrote:<br>> >> ><br>> >> ><br>> >> > On 24 May 2017 at 16:39, Emil Velikov <<a href="mailto:emil.l.velikov@gmail.com">emil.l.velikov@gmail.com</a>> wrote:<br>> >> AFAICT there are a couple of alternative solutions - have you<br>> >> considered/tried any of them?<br>> >><br>> >> a) w/o a wrapper script<br>> >> $ export PKG_CONFIG_PATH= // you need this if using the system<br>> >> pkgo-config. if the local/native one is used, this should be optional<br>> >> $ export<br>> >> PKG_CONFIG_LIBDIR=$path_to_non_system_host_pkgconfig:${SYSROOT}/usr/{lib,share}/pkgconfig<br>> >> $ export PKG_CONFIG_SYSROOT_DIR=${SYSROOT}<br>> ><br>> > We're using a natively built pkg-config which sets all the pkg-config<br>> > variables to what I believe are the correct values: the problem is that none<br>> > of those variable is for the _native_ sysroot location so they don't help in<br>> > this case. There is now way to say in a .pc file that this path should be<br>> > prefixed with something like  "${pc_native_sysroot_dir}" if it's defined.<br>> ><br>> >> b) with a wrapper script - see [1].<br>> >> I think that the "export PKG_CONFIG_DIR=" is a typo (should be ..PATH<br>> >> instead) and is not strictly required - feel free to check either way.<br>> >> Note that the exec at the end might need to be amended to<br>> >> /path/to/$(CHOST)-pkg-config.<br>> ><br>> > We don't provide a target wrapper -- I believe because it provides no value<br>> > at all on top of the setup we have (the pkg-config that autotools finds has<br>> > all the environment variables set correctly. It is essentially<br>> > $(CHOST)-pkg-config already).<br>> ><br>> > If I've missed something, I'd be happy to hear that. At the moment I think<br>> > pkg-config just does not help in this case.<br>> ><br>> I'm confused a bit - did you try the above suggestions? If so can you<br>> share which one and how it fails?<br><br><br>I'm sorry but I do not see what I could test that could help: I mentioned that the pkg-config that gets used by PKG_CHECK_MODULES() is essentially a wrapped one: In more detail the build tool sets these variables:<br><br>export PKG_CONFIG_DIR = "${STAGING_DIR_HOST}${libdir}/pkgconfig"<br>export PKG_CONFIG_PATH = "${PKG_CONFIG_DIR}:${STAGING_DATADIR}/pkgconfig"<br>export PKG_CONFIG_LIBDIR = "${PKG_CONFIG_DIR}"<br>export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR_HOST}"<br>export PKG_CONFIG_DISABLE_UNINSTALLED = "yes"<br>export PKG_CONFIG_SYSTEM_LIBRARY_PATH = "${base_libdir}:${libdir}"<br>export PKG_CONFIG_SYSTEM_INCLUDE_PATH = "${includedir}"<br><br>When we're building target software STAGING_DIR_HOST is the target sysroot. This setup works fine for everything except the case where pkg-config is used to locate tools that need to be run during the build (like wayland_scanner variable): we wouldn't want to use tools from the target sysroot.<br><br>When e.g. target mesa is being built a native sysroot already exists and it contains a wayland-scanner we should run. but there is no way to tell pkg-config <br>  a) native sysroot path (via a env variable)<br>  b) that variable wayland_scanner specifically should be prefixed with native sysroot if present (similar to  ${pc_sysrootdir} but for native sysroot)<div><br></div><div>Jussi</div></div>