On Sun, Mar 9, 2008 at 10:50 AM, Udo Richter <[EMAIL PROTECTED]> wrote:

>  There is _one_ currently installed default version of the headers for
>  this machine, and the question is why these headers are not at a default
>  location, esp. since the binaries seem to be at a default location, or?

no, think about having two versions of the same library stack in for
example /opt1 and /opt2. both prefixes contain the usual directory
structure bin, lib, include, share, ... if i want to compile software
using the libs (and headers) of opt1 i only have to do
"PKG_CONFIG_PATH=/opt1 make" and to start that program
"LD_LIBRARY_PATH=/opt1 prog". given the Makefile of prog uses
pkg-config properly.

>  (btw. in case I do have two sets of include files and I need to switch
>  between them: Changing an INCLUDE= is pretty obvious, but how do I tell
>  pkg-config or freetype-config what I want to compile?)

see above. as each version of the libraries is compiled with different
prefixes (and maybe even with different dependencies) they come with
their very own *.pc or *-config file. to switch between them at
compile time, i simply have to manypulate PKG_CONFIG_PATH (or PATH in
case of *-config) and at runtime i have to fix the linker path with
LD_LIBRARY_PATH.

there is another argument for pkg-config we havent talked about yet.
the link dependencies. type 'freetype-config --libs' and it will most
likly print '-lfreetype -lz' but only if you have compiled freetype
with zlib support. or another dependency vdr does not handle properly:
ncurses. on my system 'ncurses5-config --cflags --libs' prints
-L/usr/lib -lncurses -ldl -I/usr/include/ncurses, but it could as
easily be somewhere else.

best regards ...
clemens

_______________________________________________
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr

Reply via email to