On Mon, Jan 6, 2014 at 6:43 PM, Paul "LeoNerd" Evans <leon...@leonerd.org.uk> wrote: > On Mon, 6 Jan 2014 17:54:56 -0500 > Chris Marshall <devel.chm...@gmail.com> wrote: > >> Again, Alien modules are for *perl* to access external dependencies >> and not for other external dependencies to access eachother---you've >> already given a bunch of examples of the standard pkg-config use >> in builds. > > ... > > Once again, a summary of the facts: > > 1) Alien::unibilium has to install the unibilium C library into Perl's > @INC dir, and thus make up path names that /ONLY IT CAN KNOW/ for > where to put the include and .pc files > > 2) Alien::unibilium has to install unibilium.pc into lib/pkg-config > knowing full well that the contents of the file as supplied by the > unibilium C library /CANNOT BE USED/ as they stand, as certain > options are missing (namely, the true $libdir and the adjustment of > the RPATH linker option). > > 3) libtermkey, the C library, invokes pkg-config in order to find > unibilium, and does not involve Perl in the process at all. > > Right now, about the only idea that I can see is that Alien::unibilium > has to invent a new unibilium.pc file that is useable as it stands, so > it can force the Makefile to find it by only setting PKG_CONFIG_PATH to > include the directory it can be found in. But this then involves an > Alien wrapping writing a new .pc file when it installs, other than the > one the original library actually supplied. That feels wrong to me.
pkg-config has a standard format. I see no reason why the Alien::unibilium could not make a valid .pc file that could be used by the standard autoconf enabled builds. --Chris