This repository contains all the sources of both the Opa compiler and the Opa library.
Check out the dedicated guide to install Opa and start to code.
Quick build instructions
$ ./configure $ make $ sudo make install
Read more about building Opa.
- _build: compilation target directory
- compiler: compiler source files
- doc: documentation source files, guidelines, and miscellaneous copyright information
- lib: Opa standard library, plugins and binding system library source files
- ocamllib: OCaml libraries and runtime source files
- tools: various tools
Details of the lib directory:
- stdlib: the Opa standard library
- plugins: additional Opa library modules
- opabsl: the Opa binding system library, for binding various backends (currently node and OCaml)
- experimental: some experimental Opa libraries
Details of the doc directory:
- copyright: some copyright information used in our binary package, which includes external software (as obtained from the dependency installation helper)
*-LICENSE: licenses used by the Opa project
Details of the tools directory:
- build: build scripts and auxiliary Makefiles
- dependencies: contains the dependency installation helper and various patches
- dissemination: contains helper programs to run on the cloud (transitional)
- installer: auxiliary files used to build binary packages
- tools: contains external checking tools
- bash: bash completion scripts
- editors: various helper tools for popular editors
- utils: packaging scripts, and various auxiliary tools
Other files usage:
*.mllib: ocamlbuild target declaration for building an ocaml lib
*.itarget: ocamlbuild target declaration for building a set of targets
tools/platform_helper.sh: some helpers to guarantee script compatibility, mostly between Linux and MacOS
tools/utils/install_release.sh: builds a full Opa runtime in order to make a binary package
tools/utils/make_package.sh: builds various kinds of binary packages from the file hierarchy created by
The build system
The build system is based on OCamlbuild; the included
dynamically builds an ocamlbuild plugin and generates targets based on files
tools/build/build_rules.ml for more information. All generated files are put in
_build, following the same hierarchy as the source directory.
You can find more information about the build system in tools/build/README.
All bug reports, feedback, comments, contributions or remarks are welcome.
In particular, users are welcome to:
For more information, please consult the opalang portal.