Skip to content
Gasoline is an OCaml library providing application templates. Applications written with Gasoline are parametrised by the command line, environment or configuration files, they support fine-grained lightweight internationalised diagnostics and handle software component dependencies.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


The Gasoline project aims at implementing a Unix-ish application development framework for OCaml. The framework provides application templates factoring application components bootstrapping, configuration analyse and common application patterns, such as filter, secure tool or dæmon.

Users of Gasoline should be enabled to:

  • Rapidly develop applications by using application patterns such as “Unix filter”, “tabular data processor” or “compiler”.
  • Write large software suites whose elements offer homogeneous interfaces.
  • Use standardised diagnostic facilities supporting internationalisation.
  • Cleanly distinguish between application components and lower-level software engineering artifacts.
  • Easily bootstrap and shutdown applications consisting of many modules.

Current state

Gasoline is still beta-software, and many features or design elements are susceptible to change before we reach version 1.0. Current features are:

  • Configuration based on files, environment variables and command line arguments.
  • Configuration cascading rules which can be used to let system administrators enforce some settings of installed applications.
  • Software component management which correctly bootstraps and shutdowns the application, exception sent by the guest are caught and an emergency shutdown procedure is triggered.
  • A diagnostic facility similar to printf but better suited to internationalisation and having routing rules.

Applications can take advantage of a simplified interface to the Camomile library and of writer functions, allowing to produce simple SGML or HTML reports.

See the ocamldoc generated documentation of the master branch for more details.

Free software

It is written by Michael Grünewald and is distributed as a free software: copying it and redistributing it is very much welcome under conditions of the CeCILL-B licence agreement, found in the COPYING and COPYING-FR files of the distribution.

Setup guide

It is easy to install Gasoline using opam and its pinning feature. In a shell visiting the repository, say

% opam pin add gasoline .

It is also possible to install Gasoline manually. The installation procedure is based on the portable build system BSD Owl Scripts written for BSD Make.

  1. Verify that prerequisites are installed:

  2. Get the source, either by cloning the repository or by exploding a distribution tarball.

  3. Optionally run autoconf to produce a configuration script. This is only required if the script is not already present.

  4. Run ./configure, you can choose the installation prefix with --prefix.

  5. Run make build.

  6. Optionally run make test to test your build.

  7. Finally run make install.

Depending on how BSD Make is called on your system, you may need to replace make by bsdmake or bmake in steps 5, 6, and 7. The GNU Make program usually give up the ghost, croaking *** missing separator. Stop. when you mistakingly use it instead of BSD Make.

Step 7 requires that you can su - if you are not already root.

Michael Grünewald in Bonn, on October 21, 2014

You can’t perform that action at this time.