<!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Terminology — dune documentation</title> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> <link rel="next" title="Project Layout and Metadata Specification" href="project-layout-specification.html" /> <link rel="prev" title="Overview" href="overview.html" /> <script src="_static/js/modernizr.min.js"></script> </head> <body class="wy-body-for-nav"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-scroll"> <div class="wy-side-nav-search"> <a href="index.html" class="icon icon-home"> dune </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul class="current"> <li class="toctree-l1"><a class="reference internal" href="quick-start.html">Quickstart</a></li> <li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li> <li class="toctree-l1 current"><a class="current reference internal" href="#">Terminology</a></li> <li class="toctree-l1"><a class="reference internal" href="project-layout-specification.html">Project Layout and Metadata Specification</a></li> <li class="toctree-l1"><a class="reference internal" href="dune-files.html">dune files</a></li> <li class="toctree-l1"><a class="reference internal" href="tests.html">Writing and running tests</a></li> <li class="toctree-l1"><a class="reference internal" href="documentation.html">Generating Documentation</a></li> <li class="toctree-l1"><a class="reference internal" href="usage.html">Usage</a></li> <li class="toctree-l1"><a class="reference internal" href="advanced-topics.html">Advanced topics</a></li> <li class="toctree-l1"><a class="reference internal" href="configurator.html">Configurator</a></li> <li class="toctree-l1"><a class="reference internal" href="menhir.html">Menhir</a></li> <li class="toctree-l1"><a class="reference internal" href="faq.html">FAQ</a></li> <li class="toctree-l1"><a class="reference internal" href="known-issues.html">Known Issues</a></li> <li class="toctree-l1"><a class="reference internal" href="migration.html">Migration</a></li> </ul> </div> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="index.html">dune</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="index.html">Docs</a> »</li> <li>Terminology</li> <li class="wy-breadcrumbs-aside"> <a href="_sources/terminology.rst.txt" rel="nofollow"> View page source</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="terminology"> <h1>Terminology<a class="headerlink" href="#terminology" title="Permalink to this headline">¶</a></h1> <ul> <li><p class="first"><strong>package</strong>: a package is a set of libraries, executables, … that are built and installed as one by opam</p> </li> <li><p class="first"><strong>project</strong>: a project is a source tree, maybe containing one or more packages</p> </li> <li><p class="first"><strong>root</strong>: the root is the directory from where dune can build things. Dune knows how to build targets that are descendents of the root. Anything outside of the tree starting from the root is considered part of the <strong>installed world</strong>. How the root is determined is explained in <a class="reference internal" href="usage.html#finding-root"><span class="std std-ref">Finding the root</span></a>.</p> </li> <li><p class="first"><strong>workspace</strong>: the workspace is the subtree starting from the root. It can contain any number of projects that will be built simultaneously by dune</p> </li> <li><p class="first"><strong>installed world</strong>: anything outside of the workspace, that dune takes for granted and doesn’t know how to build</p> </li> <li><p class="first"><strong>installation</strong>: this is the action of copying build artifacts or other files from the <code class="docutils literal notranslate"><span class="pre"><root>/_build</span></code> directory to the installed world</p> </li> <li><p class="first"><strong>scope</strong>: a scope determines where private items are visible. Private items include libraries or binaries that will not be installed. In dune, scopes are sub-trees rooted where at least one <code class="docutils literal notranslate"><span class="pre"><package>.opam</span></code> file is present. Moreover, scopes are exclusive. Typically, every project defines a single scope. See <a class="reference internal" href="project-layout-specification.html#scopes"><span class="std std-ref">Scopes</span></a> for more details</p> </li> <li><p class="first"><strong>build context</strong>: a build context is a subdirectory of the <code class="docutils literal notranslate"><span class="pre"><root>/_build</span></code> directory. It contains all the build artifacts of the workspace built against a specific configuration. Without specific configuration from the user, there is always a <code class="docutils literal notranslate"><span class="pre">default</span></code> build context, which corresponds to the environment in which dune is executed. Build contexts can be specified by writing a <a class="reference internal" href="usage.html#dune-workspace"><span class="std std-ref">dune-workspace</span></a> file</p> </li> <li><p class="first"><strong>build context root</strong>: the root of a build context named <code class="docutils literal notranslate"><span class="pre">foo</span></code> is <code class="docutils literal notranslate"><span class="pre"><root>/_build/<foo></span></code></p> </li> <li><dl class="first docutils"> <dt><strong>alias</strong>: an alias is a build target that doesn’t produce any file</dt> <dd><p class="first">and has configurable dependencies. Aliases are per-directory. However, on the command line, asking for an alias to be built in a given directory will trigger the construction of the alias in all children directories recursively. Dune defines the following standard aliases:</p> <ul class="last simple"> <li><code class="docutils literal notranslate"><span class="pre">default</span></code> which is the alias build by default when no targets are specified on the command line. See <a class="reference internal" href="usage.html#default-alias"><span class="std std-ref">Default alias</span></a> for details</li> <li><code class="docutils literal notranslate"><span class="pre">runtest</span></code> which runs user defined tests</li> <li><code class="docutils literal notranslate"><span class="pre">install</span></code> which depends on everything that should be installed</li> <li><code class="docutils literal notranslate"><span class="pre">doc</span></code> which depends on the generated HTML documentation. See <a class="reference internal" href="documentation.html#documentation"><span class="std std-ref">Generating Documentation</span></a> for details.</li> </ul> </dd> </dl> </li> <li><p class="first"><strong>environment</strong>: in dune, each directory has an environment attached to it. The environment determines the default values of various parameters, such as the compilation flags. Inside a scope, each directory inherit the environment from its parent. At the root of every scope, a default environment is used. At any point, the environment can be altered using an <a class="reference internal" href="dune-files.html#dune-env"><span class="std std-ref">env</span></a> stanza.</p> </li> <li><p class="first"><strong>build profile</strong>: a global setting that influence various defaults. It can be set from the command line using <code class="docutils literal notranslate"><span class="pre">--profile</span> <span class="pre"><profile></span></code> or from <code class="docutils literal notranslate"><span class="pre">dune-workspace</span></code> files. The following profiles are standard:</p> <ul class="simple"> <li><code class="docutils literal notranslate"><span class="pre">release</span></code> which is the profile used for opam releases</li> <li><code class="docutils literal notranslate"><span class="pre">dev</span></code> which is the default profile when none is set explicitly, it has stricter warnings that the <code class="docutils literal notranslate"><span class="pre">release</span></code> one</li> </ul> </li> </ul> </div> </div> </div> <footer> <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> <a href="project-layout-specification.html" class="btn btn-neutral float-right" title="Project Layout and Metadata Specification" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a> <a href="overview.html" class="btn btn-neutral" title="Overview" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a> </div> <hr/> <div role="contentinfo"> <p> © Copyright 2017, Jérémie Dimino </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:'./', VERSION:'', LANGUAGE:'None', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true, SOURCELINK_SUFFIX: '.txt' }; </script> <script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="_static/js/theme.js"></script> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.Navigation.enable(true); }); </script> </body> </html>