GPP is a general-purpose preprocessor with customizable syntax, suitable for a wide range of preprocessing tasks. Its independence from any one programming language makes it much more versatile than the C preprocessor (cpp), while its syntax is lighter and more flexible than that of GNU m4. There are built-in macros for use with C/C++, LaTeX, HTML, XHTML, and Prolog files.

GPP is Free Software. It is distributed under the terms of the GNU Lesser General Public Licence.


The latest stable version of GPP is 2.24, released on 2004-09-19. A list of changes from previous versions can be found in the change log.

Source code

The source code can be found at

Fork me on GitHub

Ports and binary packages

Binary packages are available for several systems:


You can browse through the online HTML documentation. The source distribution includes the documention as an HTML file, man page, and LaTeX document.


GPP was originally written by Denis Auroux. Since version 2.12 it has been maintained by Tristan Miller.