Skip to content

ocaml/oasis

Repository files navigation

Travis-CI Build Status AppVeyor Build status Join the chat at https://gitter.im/ocaml/oasis

oasis - Tooling for building OCaml libraries and applications

OASIS generates a full configure, build and install system for your application. It starts with a simple _oasis file at the toplevel of your project and creates everything required.

OASIS leverages existing OCaml tooling to perform most of it's work. In fact, it might be more appropriate to think of it as simply the glue that binds these other subsystems together and coordinates the work that they do. It should support the following tools:

  • OCamlbuild
  • OMake
  • OCamlMakefile (todo),
  • ocaml-autoconf (todo)

It also features a do-it-yourself command line invocation and an internal configure/install scheme. Libraries are managed through findlib. It has been tested on GNU Linux and Windows.

It also allows to have standard entry points and description. It helps to integrate your libraries and software with third parties tools like OPAM.

Bug reports

Install OASIS

The recommended way to install oasis is via the opam package manager:

$ opam install oasis

As an alternative, INSTALL.md explains how to build OASIS from the sources.

Documentation

Examples

  • custom a project that uses the custom plugin and make to build
  • flags a project that uses flags and .ab files where these flags are substituted
  • interdepend-libraries a project that uses several libraries linked together
  • with-c a project that uses C files in libraries and executables
  • with-data a project that installs data files
  • with-subpackages a project that uses a syntax extension and a library
  • browse the examples directory of OASIS for other examples

Featured projects that use _oasis:

  • ocamlify: the _oasis file includes 2 syntax extensions, a library and tests

Related documentation

OMake README

Copyright and license

(C) 2011-2016 Sylvain Le Gall (C) 2008-2010 OCamlCore SARL

oasis is distributed under the terms of the GNU Lesser General Public License version 2.1 with OCaml linking exception.

See COPYING.txt for more information.