/** @page architecture Software architecture \section Overview
Player is composed primarily of 5 libraries : - @ref libplayererror (C): Error reporting facilities - @ref libplayercore (C++): Basic messaging and queueing functionality, support for loading plugins, parsing configuration files - @ref libplayerdrivers (C++): The drivers that are included with the Player distribution (and which were compiled) - @ref libplayertcp (C++): Support for TCP client/server transport - @ref libplayerxdr (C++): Support for XDR data marshaling
These libraries constitute the fundamental functionality of Player. In a way, the commonly-used @ref util_player is just a short (< 300 lines) example of how to use these libraries. Other uses are possible, and the libraries have designed with reuse in mind.
\section pkgconfigusage Compiling and linkingAll Player libraries are installed with pkg-config meta-data files that detail how to compile and link against them. You should always use pkg-config to build applications that use these libraries, in order to correctly handle compiler/linker paths and dependencies. The pkg-config name for each library is the library's name without the lib prefix. For example, to build against @ref libplayercore, you would do something like:
$ g++ `pkg-config --cflags playercore` -o myprogram myprogram.cc `pkg-config --libs playercore`
If pkg-config can't find Player libraries, read @ref pkgconfiginstall.
*/