On Tue, 2012-09-25 at 06:00 -0700, Dan Nicholson wrote: > 1. As you demonstrated (and speaking as a pkg-config maintainer), > pkg-config does not treat /usr/share/pkgconfig the way you want it to. > It's mean to be for a multiarch system sharing the same root, not for > a cross-compile scenario where you're trying to minimize pollution > from the host root. pkg-config has no code that guarantee's things in > /usr/share/pkgconfig are cross-compile safe.
xorg-util-macros, xorg-sgml-doctools, and xcb-proto are relevant examples of .pc files in /usr/share/pkgconfig which can be safely used for cross-compiling. Other similar examples are gtk-doc and mm-common. There are also a few cross-platform header-only packages, either protos (e.g. spice-protocol) or C++ template "libraries" (e.g. Eigen). But in these cases, the headers are in dedicated subdirectories (-I/usr/include/spice-1, -I/usr/include/eigen3) and therefore won't pull in the native build system headers. Unfortunately, I don't think we could go that route with our protos, as it wouldn't be compatible with non-pkg-config uses of X, of which there are still plenty. > 3. I think making this change doesn't actually affect your situation. > Either way you need to build and install the package supplying the .pc > file to your cross-root. Suppose the proto packages stay in > /usr/lib/pkgconfig and you avoid them for your setup. You still need > to build those packages with your cross-root paths. If these proto > packages start showing up in /usr/share/pkgconfig, you still need to > build the packages for your new root so the .pc files are found > earlier in the path than /usr/share/pkgconfig. I imagine you're > building all the proto packages now for your cross setup, right? How > does change anything? You are correct that I have to build the protos for each cross-toolchain (which is why I was in favour of a unified xproto package when last proposed). Putting the .pc files in /usr/share/pkgconfig may lead someone to try cross-compiling with them though, and then complain when it doesn't work. Besides, having files in /usr/$host/sys-root/$prefix/share/pkgconfig just doesn't look right to me. Yaakov Cygwin/X _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
