README for the pkg-config support for PLplot
--------------------------------------------

The pkg-config system for PLplot has been completely redesigned.  We used to
have before two files, plplot.pc.in and plplot-float.pc.in, which were
almost identical.  The *.pc were obtained at configure time.  Essentially,
only the -lplplot(d) flag was included in the Libs entries of these files.
This works correctly in platforms like Linux, in which the linker program
searches recursively for the dependency libraries.

With the new system, we try to make the pkg-config support for PLplot work
better cross-platform.  For that, the whole set of dependency libraries is
included in the Libs entry.  This is done by parsing the libtool-generated
*.lai files at install time, thanks to the install-data-hook rule in
Makefile.am.

Another improvement of the new system is that there are now separate
pkg-config files for the different libraries shipped with PLplot.  They are:

    plplot.pc
    plplot-c++.pc
    plplot-fortran.pc
    plplot-tcl.pc

for the single precision case, and:

    plplotd.pc
    plplotd-c++.pc
    plplotd-fortran.pc
    plplotd-tcl.pc

for the double precision case.

Since these files are quite similar, they are generated by a Bourne shell
script (gen-pc-files.sh) from a boilerplate template (plplot-master-pc). The
template file is obtained during configuration (from plplot-master-pc.in).

In my current system, this is what I obtain now:

    $ pkg-config plplotd --libs
    -lplplotd -lfreetype -lz -lcsirocsa -lcsironn -lqhull -lm -ldl
    $ pkg-config plplotd-c++ --libs
    -lplplotcxxd -lplplotd -lfreetype -lz -lcsirocsa -lcsironn -lqhull -ldl
    $ pkg-config plplotd-tcl --libs
    -lplplottcltkd -lplplotd -lfreetype -lz -lcsirocsa -lcsironn -lqhull -ldl
    -ltclmatrixd -litk3.2 -ltk8.4 -litcl3.2 -ltcl8.4 L/usr/X11R6/lib -lX11
    -lm

Rafael Laboissiere <rafael@laboissiere.net>
