-
Notifications
You must be signed in to change notification settings - Fork 126
Directory layout
Henri edited this page Feb 17, 2015
·
1 revision
- _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 bytools/utils/install_release.sh
The build system is based on OCamlbuild; the included tools/build/Makefile.bld
dynamically builds an ocamlbuild plugin and generates targets based on files
tools/build/build_libs
, tools/build/build_tools
and tools/build/build_rules.ml
.
See tools/build/Makefile.bld
and 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.