Awesome
oasis - Tooling for building OCaml libraries and applications
<img src="https://raw.githubusercontent.com/ocaml/oasis/master/doc/images/logo.svg" width="64" height="64"/></img>
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.
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
- OASIS Quickstart which show you how to set up OASIS for a single executable and library.
- Have a look at our frequently asked questions
- OASIS User manual
- Contributing
- Release process
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:
Related documentation
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.