The purpose of this chapter is give an overview of the libraries that are created as part of a PLplot build. These consist of bindings libraries to make the PLplot API accessible for various computer languages or GUI environments, the PLplot core library which implements the PLplot API in C, enhancement libraries which add essential functionality the PLplot core library, and device-driver libraries which help to implement some of our device drivers.
The purpose of the PLplot bindings is to make the PLplot API documented in Chapter 19 accessible from various computer languages and GUI environments. Some bindings (e.g., qt and cairo) are implemented by a special form of "external" device. Other bindings (e.g., python) are implemented as shared objects which are dynamically loaded by the language in question. However, the majority of our bindings are implemented as bindings libraries which must be specifically linked by the application. (See the Makefiles in the installed examples tree for comprehensive examples of how we use pkg-config to supply the necessary linking information.) In turn these bindings libraries are linked to the PLplot core library described in the Section called The PLplot Core Library. We tabulate below the bindings library or libraries associated with the compiled languages and GUI environments we support in this specific way.