From: Alan W. Irwin <irwin@be...> - 2005-01-15 06:42:55
Back when I was just getting started with PLplot, I made the choice to
install pldebug.h (and possibly plplotP.h as well) in an excess of zeal to
install every header just in case they might be useful. But now I realize
it may not be such a good idea to install private headers like these since
it effectively narrows our public API and gives us more freedom to make
backwards incompatible changes with our internal private functions.
Of course, these two headers must be in the tarball since they are required
internally to build the Plplot libraries. However, if we don't install them
(i.e., "make install" ignores them) it is a signal to external developers
that these headers are private and not needed for normal compilation and
linking of external apps with the PLplot libraries. Of course, if somebody
insists on calling internal PLplot functions, they always have the option of
installing the private headers by hand. Also, to confirm that these headers
aren't normally required, I tried removing them from $prefix/include/plplot,
and all our installed examples built without problems.
Maurice, you are probably the one that knows the most history about these
two headers and the likilihood that anybody is actually using them to
compile external apps with calls to PLplot internals. Do you think it is a
good idea not to install these two header files or would you prefer them to
continue to be installed?
Alan W. Irwin
Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).
Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the Yorick front-end to PLplot (yplot.sf.net); the
Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project
Alan W. Irwin writes:
> Maurice, you are probably the one that knows the most history about these
> two headers and the likilihood that anybody is actually using them to
> compile external apps with calls to PLplot internals. Do you think it is a
> good idea not to install these two header files or would you prefer them to
> continue to be installed?
Continue to install them. Now that all the headers are installed to a
separate dir <include>/plplot, there's not much need to be too concerned about
what gets installed there. As long as it might be useful. And plplotP.h can
be very, very useful, in working around deficiencies of the API until such
can be rectified (I just recently had need for some of the transformation
functions declared in plplotP.h). And pldebug.h is included by plplotP.h.
So keep them both.
Yes, it increases risk of breakage between versions for people who dare to use
this stuff, but hey, caveat emptor. I have had definite negative experiences
with the opposite approach.. I don't know how many times I've had to manually
install files like tclInt.h (or even worse, keep it with my application
include files) just to get at a perfectly good internal functionality I really
needed that didn't happen to be in the public API.
Maurice LeBrun mjl@...