[![Build Status](https://secure.travis-ci.org/diagrams/diagrams-builder.png)](http://travis-ci.org/diagrams/diagrams-builder) `diagrams-builder` provides backend-agnostic tools for dynamically turning code into rendered [diagrams](http://projects.haskell.org/diagrams), using the [hint](http://hackage.haskell.org/package/hint) wrapper to the GHC API. It supports conditional recompilation using hashing of diagrams source code, to avoid recompiling code that has not changed. It is useful for creating tools which compile diagrams code embedded in other documents. For example, it is used by the [BlogLiterately-diagrams](http://hackage.haskell.org/package/BlogLiterately%2Ddiagrams) package (a plugin for [BlogLiterately](http://hackage.haskell.org/package/BlogLiterately)) to compile diagrams embedded in [Markdown](http://daringfireball.net/projects/markdown/)-formatted blog posts. An executable specific to the [cairo backend](http://github.com/diagrams/diagrams-cairo) is included (more executables specific to other backends will be included in the future). It takes an input file and an expression to render and outputs an image file, using the cairo backend. If you want it you must explicitly enable the cairo flag with `-fcairo`. A LaTeX package, `diagrams-latex.sty`, is also provided in the `latex/` directory of the source distribution, which renders diagrams code found within `diagram` environments. It makes use of the `diagrams-builder-cairo` executable, so if you want to use `diagrams-latex.sty` you should install `diagrams-builder` with the `-fcairo` option. Note that `diagrams-latex.sty` is licensed under the GPL.