mirror of
https://github.com/c-cube/tiny_httpd.git
synced 2026-01-21 16:56:40 -05:00
12 lines
7.4 KiB
HTML
12 lines
7.4 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Linkdeps (ocaml.Linkdeps)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../_odoc-theme/odoc.css"/><meta name="generator" content="odoc 2.4.4"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> – <a href="../index.html">ocaml</a> » Linkdeps</nav><header class="odoc-preamble"><h1>Module <code><span>Linkdeps</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type anchored" id="type-t"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div><div class="spec-doc"><p>The state of the linking check. It keeps track of compilation units provided and required so far.</p></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-compunit"><a href="#type-compunit" class="anchor"></a><code><span><span class="keyword">type</span> compunit</span><span> = string</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-filename"><a href="#type-filename" class="anchor"></a><code><span><span class="keyword">type</span> filename</span><span> = string</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-create"><a href="#val-create" class="anchor"></a><code><span><span class="keyword">val</span> create : <span><span class="label">complete</span>:bool <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>create ~complete</code> returns an empty state. If <code>complete</code> is <code>true</code>, missing compilation units will be treated as errors.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add"><a href="#val-add" class="anchor"></a><code><span><span class="keyword">val</span> add :
|
||
<span><a href="#type-t">t</a> <span class="arrow">-></span></span>
|
||
<span><span class="label">filename</span>:<a href="#type-filename">filename</a> <span class="arrow">-></span></span>
|
||
<span><span class="label">compunit</span>:<a href="#type-compunit">compunit</a> <span class="arrow">-></span></span>
|
||
<span><span class="label">provides</span>:<span><a href="#type-compunit">compunit</a> list</span> <span class="arrow">-></span></span>
|
||
<span><span class="label">requires</span>:<span><a href="#type-compunit">compunit</a> list</span> <span class="arrow">-></span></span>
|
||
unit</span></code></div><div class="spec-doc"><p><code>add t ~filename ~compunit ~provides ~requires</code> registers the compilation unit <code>compunit</code> found in <code>filename</code> to <code>t</code>.</p><ul><li><code>provides</code> are units and sub-units provided by <code>compunit</code></li><li><code>requires</code> are units required by <code>compunit</code></li></ul><p><code>add</code> should be called in reverse topological order.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-required"><a href="#val-required" class="anchor"></a><code><span><span class="keyword">val</span> required : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-compunit">compunit</a> <span class="arrow">-></span></span> bool</span></code></div><div class="spec-doc"><p><code>required t compunit</code> returns <code>true</code> if <code>compunit</code> is a dependency of previously added compilation units.</p></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-compunit_and_source"><a href="#type-compunit_and_source" class="anchor"></a><code><span><span class="keyword">type</span> compunit_and_source</span><span> = </span><span>{</span></code><ol><li id="type-compunit_and_source.compunit" class="def record field anchored"><a href="#type-compunit_and_source.compunit" class="anchor"></a><code><span>compunit : <a href="#type-compunit">compunit</a>;</span></code></li><li id="type-compunit_and_source.filename" class="def record field anchored"><a href="#type-compunit_and_source.filename" class="anchor"></a><code><span>filename : <a href="#type-filename">filename</a>;</span></code></li></ol><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-error"><a href="#type-error" class="anchor"></a><code><span><span class="keyword">type</span> error</span><span> = </span></code><ol><li id="type-error.Missing_implementations" class="def variant constructor anchored"><a href="#type-error.Missing_implementations" class="anchor"></a><code><span>| </span><span><span class="constructor">Missing_implementations</span> <span class="keyword">of</span> <span><span>(<a href="#type-compunit">compunit</a> * <span><a href="#type-compunit_and_source">compunit_and_source</a> list</span>)</span> list</span></span></code></li><li id="type-error.Wrong_link_order" class="def variant constructor anchored"><a href="#type-error.Wrong_link_order" class="anchor"></a><code><span>| </span><span><span class="constructor">Wrong_link_order</span> <span class="keyword">of</span> <span><span>(<a href="#type-compunit_and_source">compunit_and_source</a> * <span><a href="#type-compunit_and_source">compunit_and_source</a> list</span>)</span> list</span></span></code></li><li id="type-error.Multiple_definitions" class="def variant constructor anchored"><a href="#type-error.Multiple_definitions" class="anchor"></a><code><span>| </span><span><span class="constructor">Multiple_definitions</span> <span class="keyword">of</span> <span><span>(<a href="#type-compunit">compunit</a> * <span><a href="#type-filename">filename</a> list</span>)</span> list</span></span></code></li></ol></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-check"><a href="#val-check" class="anchor"></a><code><span><span class="keyword">val</span> check : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="#type-error">error</a> option</span></span></code></div><div class="spec-doc"><p><code>check t</code> should be called once all the compilation units to be linked have been added. It returns some error if:</p><ul><li>There are some missing implementations and <code>complete</code> is <code>true</code></li><li>Some implementation appear before their dependencies</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-report_error"><a href="#val-report_error" class="anchor"></a><code><span><span class="keyword">val</span> report_error :
|
||
<span><span class="label">print_filename</span>:<span>string <a href="../Format_doc/index.html#type-printer">Format_doc.printer</a></span> <span class="arrow">-></span></span>
|
||
<span><a href="#type-error">error</a> <a href="../Format_doc/index.html#type-format_printer">Format_doc.format_printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-report_error_doc"><a href="#val-report_error_doc" class="anchor"></a><code><span><span class="keyword">val</span> report_error_doc :
|
||
<span><span class="label">print_filename</span>:<span>string <a href="../Format_doc/index.html#type-printer">Format_doc.printer</a></span> <span class="arrow">-></span></span>
|
||
<span><a href="#type-error">error</a> <a href="../Format_doc/index.html#type-printer">Format_doc.printer</a></span></span></code></div></div></div></body></html>
|