mirror of
https://github.com/ganelson/inform.git
synced 2024-06-17 07:40:47 +03:00
Skeleton of inbuild
This commit is contained in:
parent
32baefc39d
commit
1f2cf3cc2d
|
@ -100,6 +100,7 @@ This repository is where development is done on the following executables:
|
|||
* its modules [★ words](docs/words-module/index.html), [★ inflections](docs/inflections-module/index.html), [★ syntax](docs/syntax-module/index.html), [★ problems](docs/problems-module/index.html), [★ linguistics](docs/linguistics-module/index.html), [★ kinds](docs/kinds-module/index.html), [★ core](docs/core-module/index.html), [★ if](docs/if-module/index.html), [★ multimedia](docs/multimedia-module/index.html), [★ index](docs/index-module/index.html)
|
||||
* their unit test executables [★ words-test](docs/words-test/index.html), [★ inflections-test](docs/inflections-test/index.html), [★ syntax-test](docs/syntax-test/index.html), [★ problems-test](docs/problems-test/index.html), [★ linguistics-test](docs/linguistics-test/index.html), [★ kinds-test](docs/kinds-test/index.html)
|
||||
* inblorb - The packaging stage of the Inform 7 system, which releases a story file in the blorbed format. - __version 4 'Duralumin'__ - [★ Web](docs/inblorb/index.html) - [▶ Documentation](docs/inblorb/P-ui.html)
|
||||
* inbuild - A simple build and package manager for the Inform tools. - __version 1 'Avignon'__ - [★ Web](docs/inbuild/index.html) - [▶ Documentation](docs/inbuild/P-ui.html)
|
||||
* indoc - The documentation-formatter for the Inform 7 system. - __version 4 'Didache'__ - [★ Web](docs/indoc/index.html) - [▶ Documentation](docs/indoc/P-iti.html)
|
||||
* inpolicy - A lint-like tool to check up on various policies used in Inform source code. - __version 1 'Plan A'__ - [★ Web](docs/inpolicy/index.html) - [▶ Documentation](docs/inpolicy/P-ui.html)
|
||||
* inrtps - A generator of HTML pages to show for run-time problem messages in Inform. - __version 2 'Benefactive'__ - [★ Web](docs/inrtps/index.html) - [▶ Documentation](docs/inrtps/P-ui.html)
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
|
||||
<p class="endnote">The function CodeGen::Architecture::set appears nowhere else.</p>
|
||||
|
||||
<p class="endnote">The function CodeGen::Architecture::leafname is used in 1/lbr (<a href="1-lbr.html#SP2">§2</a>).</p>
|
||||
<p class="endnote">The function CodeGen::Architecture::leafname is used in 1/li (<a href="1-li.html#SP2">§2</a>).</p>
|
||||
|
||||
<p class="inwebparagraph"><a id="SP2"></a><b>§2. Prepare stage. </b></p>
|
||||
|
||||
|
@ -190,7 +190,7 @@
|
|||
<p class="endnote">The function CodeGen::Architecture::run_prepare_stage_inner appears nowhere else.</p>
|
||||
|
||||
<hr class="tocbar">
|
||||
<ul class="toc"><li><a href="1-stg.html">Back to 'Stages'</a></li><li><a href="1-lbr.html">Continue with 'Libraries'</a></li></ul><hr class="tocbar">
|
||||
<ul class="toc"><li><a href="1-stg.html">Back to 'Stages'</a></li><li><a href="1-li.html">Continue with 'Link Instructions'</a></li></ul><hr class="tocbar">
|
||||
<!--End of weave-->
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
<span class="definitionkeyword">enum</span> <span class="constant">code_generation_target_MT</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">code_generation_MT</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">generated_segment_MT</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">inter_library_MT</span>
|
||||
<span class="definitionkeyword">enum</span> <span class="constant">link_instruction_MT</span>
|
||||
</pre>
|
||||
<p class="inwebparagraph"><a id="SP3"></a><b>§3. </b>With allocation functions:
|
||||
</p>
|
||||
|
@ -51,7 +51,7 @@
|
|||
<span class="identifier">ALLOCATE_INDIVIDUALLY</span><span class="plain">(</span><span class="reserved">code_generation_target</span><span class="plain">)</span>
|
||||
<span class="identifier">ALLOCATE_INDIVIDUALLY</span><span class="plain">(</span><span class="reserved">code_generation</span><span class="plain">)</span>
|
||||
<span class="identifier">ALLOCATE_INDIVIDUALLY</span><span class="plain">(</span><span class="reserved">generated_segment</span><span class="plain">)</span>
|
||||
<span class="identifier">ALLOCATE_INDIVIDUALLY</span><span class="plain">(</span><span class="reserved">inter_library</span><span class="plain">)</span>
|
||||
<span class="identifier">ALLOCATE_INDIVIDUALLY</span><span class="plain">(</span><span class="reserved">link_instruction</span><span class="plain">)</span>
|
||||
</pre>
|
||||
|
||||
<p class="inwebparagraph"></p>
|
||||
|
|
83
docs/codegen-module/1-li.html
Normal file
83
docs/codegen-module/1-li.html
Normal file
|
@ -0,0 +1,83 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>1/arc</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="Content-Language" content="en-gb">
|
||||
<link href="inweb.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!--Weave of '1/li' generated by 7-->
|
||||
<ul class="crumbs"><li><a href="../webs.html">★</a></li><li><a href="index.html">codegen</a></li><li><a href="index.html#1">Chapter 1: Setting Up</a></li><li><b>Link Instructions</b></li></ul><p class="purpose">Inter often needs to assimilate or otherwise deal with architecture-neutral kits of linkable material, and this is where such requirements are noted.</p>
|
||||
|
||||
<ul class="toc"><li><a href="#SP1">§1. </a></li><li><a href="#SP2">§2. Link stage</a></li></ul><hr class="tocbar">
|
||||
|
||||
<p class="inwebparagraph"><a id="SP1"></a><b>§1. </b></p>
|
||||
|
||||
|
||||
<pre class="display">
|
||||
<span class="reserved">typedef</span><span class="plain"> </span><span class="reserved">struct</span><span class="plain"> </span><span class="reserved">link_instruction</span><span class="plain"> {</span>
|
||||
<span class="reserved">struct</span><span class="plain"> </span><span class="identifier">pathname</span><span class="plain"> *</span><span class="identifier">location</span><span class="plain">;</span>
|
||||
<span class="reserved">struct</span><span class="plain"> </span><span class="identifier">text_stream</span><span class="plain"> *</span><span class="identifier">attachment_point</span><span class="plain">;</span>
|
||||
<span class="identifier">MEMORY_MANAGEMENT</span>
|
||||
<span class="plain">} </span><span class="reserved">link_instruction</span><span class="plain">;</span>
|
||||
|
||||
<span class="reserved">link_instruction</span><span class="plain"> *</span><span class="functiontext">CodeGen::LinkInstructions::new</span><span class="plain">(</span><span class="identifier">pathname</span><span class="plain"> *</span><span class="identifier">P</span><span class="plain">, </span><span class="identifier">text_stream</span><span class="plain"> *</span><span class="identifier">attach</span><span class="plain">) {</span>
|
||||
<span class="reserved">link_instruction</span><span class="plain"> *</span><span class="identifier">link</span><span class="plain"> = </span><span class="identifier">CREATE</span><span class="plain">(</span><span class="reserved">link_instruction</span><span class="plain">);</span>
|
||||
<span class="identifier">link</span><span class="plain">-</span><span class="element">>location</span><span class="plain"> = </span><span class="identifier">P</span><span class="plain">;</span>
|
||||
<span class="identifier">link</span><span class="plain">-</span><span class="element">>attachment_point</span><span class="plain"> = </span><span class="identifier">Str::duplicate</span><span class="plain">(</span><span class="identifier">attach</span><span class="plain">);</span>
|
||||
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">link</span><span class="plain">;</span>
|
||||
<span class="plain">}</span>
|
||||
</pre>
|
||||
|
||||
<p class="inwebparagraph"></p>
|
||||
|
||||
<p class="endnote">The function CodeGen::LinkInstructions::new appears nowhere else.</p>
|
||||
|
||||
<p class="endnote">The structure link_instruction is private to this section.</p>
|
||||
|
||||
<p class="inwebparagraph"><a id="SP2"></a><b>§2. Link stage. </b></p>
|
||||
|
||||
|
||||
<pre class="display">
|
||||
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">CodeGen::LinkInstructions::create_pipeline_stage</span><span class="plain">(</span><span class="reserved">void</span><span class="plain">) {</span>
|
||||
<span class="functiontext">CodeGen::Stage::new</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"link"</span><span class="plain">, </span><span class="functiontext">CodeGen::LinkInstructions::run_link_stage</span><span class="plain">, </span><span class="constant">NO_STAGE_ARG</span><span class="plain">, </span><span class="identifier">FALSE</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
|
||||
<span class="reserved">int</span><span class="plain"> </span><span class="functiontext">CodeGen::LinkInstructions::run_link_stage</span><span class="plain">(</span><span class="reserved">pipeline_step</span><span class="plain"> *</span><span class="identifier">step</span><span class="plain">) {</span>
|
||||
<span class="reserved">link_instruction</span><span class="plain"> *</span><span class="identifier">req</span><span class="plain">;</span>
|
||||
<span class="identifier">LOOP_OVER_LINKED_LIST</span><span class="plain">(</span><span class="identifier">req</span><span class="plain">, </span><span class="reserved">link_instruction</span><span class="plain">, </span><span class="identifier">step</span><span class="plain">-</span><span class="element">>requirements_list</span><span class="plain">) {</span>
|
||||
<span class="identifier">TEMPORARY_TEXT</span><span class="plain">(</span><span class="identifier">leafname</span><span class="plain">);</span>
|
||||
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">leafname</span><span class="plain">, </span><span class="string">"%S.interb"</span><span class="plain">, </span><span class="functiontext">CodeGen::Architecture::leafname</span><span class="plain">());</span>
|
||||
<span class="identifier">filename</span><span class="plain"> *</span><span class="identifier">arch_file</span><span class="plain"> = </span><span class="identifier">Filenames::in_folder</span><span class="plain">(</span><span class="identifier">req</span><span class="plain">-</span><span class="element">>location</span><span class="plain">, </span><span class="identifier">leafname</span><span class="plain">);</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">TextFiles::exists</span><span class="plain">(</span><span class="identifier">arch_file</span><span class="plain">) == </span><span class="identifier">FALSE</span><span class="plain">) </span><span class="identifier">internal_error</span><span class="plain">(</span><span class="string">"no arch file for requirement"</span><span class="plain">);</span>
|
||||
<span class="identifier">DISCARD_TEXT</span><span class="plain">(</span><span class="identifier">leafname</span><span class="plain">);</span>
|
||||
|
||||
<span class="identifier">inter_tree</span><span class="plain"> *</span><span class="identifier">sidecar</span><span class="plain"> = </span><span class="identifier">Inter::Tree::new</span><span class="plain">();</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">Inter::Binary::test_file</span><span class="plain">(</span><span class="identifier">arch_file</span><span class="plain">)) </span><span class="identifier">Inter::Binary::read</span><span class="plain">(</span><span class="identifier">sidecar</span><span class="plain">, </span><span class="identifier">arch_file</span><span class="plain">);</span>
|
||||
<span class="reserved">else</span><span class="plain"> </span><span class="identifier">Inter::Textual::read</span><span class="plain">(</span><span class="identifier">sidecar</span><span class="plain">, </span><span class="identifier">arch_file</span><span class="plain">);</span>
|
||||
|
||||
<span class="identifier">inter_package</span><span class="plain"> *</span><span class="identifier">pack</span><span class="plain"> = </span><span class="identifier">Inter::Packages::by_url</span><span class="plain">(</span><span class="identifier">sidecar</span><span class="plain">, </span><span class="identifier">req</span><span class="plain">-</span><span class="element">>attachment_point</span><span class="plain">);</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">pack</span><span class="plain"> == </span><span class="identifier">NULL</span><span class="plain">) {</span>
|
||||
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">STDERR</span><span class="plain">, </span><span class="string">"sought attachment material at: %S in %f\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">req</span><span class="plain">-</span><span class="element">>attachment_point</span><span class="plain">, </span><span class="identifier">arch_file</span><span class="plain">);</span>
|
||||
<span class="identifier">internal_error</span><span class="plain">(</span><span class="string">"unable to find attachment point package"</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="identifier">Inter::Transmigration::move</span><span class="plain">(</span><span class="identifier">pack</span><span class="plain">, </span><span class="identifier">Site::main_package</span><span class="plain">(</span><span class="identifier">step</span><span class="plain">-</span><span class="element">>repository</span><span class="plain">), </span><span class="identifier">FALSE</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">TRUE</span><span class="plain">;</span>
|
||||
<span class="plain">}</span>
|
||||
</pre>
|
||||
|
||||
<p class="inwebparagraph"></p>
|
||||
|
||||
<p class="endnote">The function CodeGen::LinkInstructions::create_pipeline_stage is used in 1/stg (<a href="1-stg.html#SP2">§2</a>).</p>
|
||||
|
||||
<p class="endnote">The function CodeGen::LinkInstructions::run_link_stage appears nowhere else.</p>
|
||||
|
||||
<hr class="tocbar">
|
||||
<ul class="toc"><li><a href="1-arc.html">Back to 'Architecture'</a></li><li><a href="1-ppl.html">Continue with 'Pipelines'</a></li></ul><hr class="tocbar">
|
||||
<!--End of weave-->
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>1/lbr</title>
|
||||
<title>1/li</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="Content-Language" content="en-gb">
|
||||
<link href="inweb.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
|
@ -54,7 +54,7 @@ have no meaningful contents when the step is not running.
|
|||
|
||||
<p class="endnote">The function CodeGen::Pipeline::new_step is used in <a href="#SP3">§3</a>.</p>
|
||||
|
||||
<p class="endnote">The structure pipeline_step is accessed in 1/stg, 1/arc, 1/lbr, 2/lnk, 2/plm, 2/rcc, 2/alm, 2/res, 2/ip, 2/unq, 2/rv, 2/erm, 2/erl, 3/cg, 4/fti, 4/fbi, 4/fi and here.</p>
|
||||
<p class="endnote">The structure pipeline_step is accessed in 1/stg, 1/arc, 1/li, 2/lnk, 2/plm, 2/rcc, 2/alm, 2/res, 2/ip, 2/unq, 2/rv, 2/erm, 2/erl, 3/cg, 4/fti, 4/fbi, 4/fi and here.</p>
|
||||
|
||||
<p class="inwebparagraph"><a id="SP2"></a><b>§2. </b>This wipes clean the temporary storage for a step.
|
||||
</p>
|
||||
|
@ -70,7 +70,7 @@ have no meaningful contents when the step is not running.
|
|||
<span class="identifier">step</span><span class="plain">-</span><span class="element">>the_PP</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
|
||||
<span class="identifier">step</span><span class="plain">-</span><span class="element">>repository</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
|
||||
<span class="identifier">step</span><span class="plain">-</span><span class="element">>pipeline</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
|
||||
<span class="identifier">step</span><span class="plain">-</span><span class="element">>requirements_list</span><span class="plain"> = </span><span class="identifier">NEW_LINKED_LIST</span><span class="plain">(</span><span class="reserved">inter_library</span><span class="plain">);</span>
|
||||
<span class="identifier">step</span><span class="plain">-</span><span class="element">>requirements_list</span><span class="plain"> = </span><span class="identifier">NEW_LINKED_LIST</span><span class="plain">(</span><span class="identifier">inter_library</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
</pre>
|
||||
|
||||
|
@ -489,7 +489,7 @@ logging:
|
|||
<p class="endnote">The function CodeGen::Pipeline::uks appears nowhere else.</p>
|
||||
|
||||
<hr class="tocbar">
|
||||
<ul class="toc"><li><a href="1-lbr.html">Back to 'Libraries'</a></li><li><i>(This section ends Chapter 1: Setting Up.)</i></li></ul><hr class="tocbar">
|
||||
<ul class="toc"><li><a href="1-li.html">Back to 'Link Instructions'</a></li><li><i>(This section ends Chapter 1: Setting Up.)</i></li></ul><hr class="tocbar">
|
||||
<!--End of weave-->
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -50,7 +50,7 @@ write output to; others are not.
|
|||
|
||||
<p class="inwebparagraph"></p>
|
||||
|
||||
<p class="endnote">The function CodeGen::Stage::new is used in <a href="#SP2">§2</a>, 1/arc (<a href="1-arc.html#SP2">§2</a>), 1/lbr (<a href="1-lbr.html#SP2">§2</a>), 2/lnk (<a href="2-lnk.html#SP1">§1</a>), 2/plm (<a href="2-plm.html#SP1">§1</a>), 2/rcc (<a href="2-rcc.html#SP1">§1</a>), 2/alm (<a href="2-alm.html#SP1">§1</a>), 2/res (<a href="2-res.html#SP1">§1</a>), 2/ip (<a href="2-ip.html#SP1">§1</a>), 2/unq (<a href="2-unq.html#SP1">§1</a>), 2/rv (<a href="2-rv.html#SP1">§1</a>), 2/erm (<a href="2-erm.html#SP1">§1</a>), 2/erl (<a href="2-erl.html#SP1">§1</a>), 3/cg (<a href="3-cg.html#SP1">§1</a>).</p>
|
||||
<p class="endnote">The function CodeGen::Stage::new is used in <a href="#SP2">§2</a>, 1/arc (<a href="1-arc.html#SP2">§2</a>), 1/li (<a href="1-li.html#SP2">§2</a>), 2/lnk (<a href="2-lnk.html#SP1">§1</a>), 2/plm (<a href="2-plm.html#SP1">§1</a>), 2/rcc (<a href="2-rcc.html#SP1">§1</a>), 2/alm (<a href="2-alm.html#SP1">§1</a>), 2/res (<a href="2-res.html#SP1">§1</a>), 2/ip (<a href="2-ip.html#SP1">§1</a>), 2/unq (<a href="2-unq.html#SP1">§1</a>), 2/rv (<a href="2-rv.html#SP1">§1</a>), 2/erm (<a href="2-erm.html#SP1">§1</a>), 2/erl (<a href="2-erl.html#SP1">§1</a>), 3/cg (<a href="3-cg.html#SP1">§1</a>).</p>
|
||||
|
||||
<p class="endnote">The structure pipeline_stage is accessed in 1/ppl and here.</p>
|
||||
|
||||
|
@ -73,7 +73,7 @@ to the routine below.
|
|||
|
||||
<span class="functiontext">CodeGen::create_pipeline_stage</span><span class="plain">();</span>
|
||||
<span class="functiontext">CodeGen::Architecture::create_pipeline_stage</span><span class="plain">();</span>
|
||||
<span class="functiontext">CodeGen::Libraries::create_pipeline_stage</span><span class="plain">();</span>
|
||||
<span class="functiontext">CodeGen::LinkInstructions::create_pipeline_stage</span><span class="plain">();</span>
|
||||
<span class="functiontext">CodeGen::Assimilate::create_pipeline_stage</span><span class="plain">();</span>
|
||||
<span class="functiontext">CodeGen::Eliminate::create_pipeline_stage</span><span class="plain">();</span>
|
||||
<span class="functiontext">CodeGen::Externals::create_pipeline_stage</span><span class="plain">();</span>
|
||||
|
|
|
@ -28,8 +28,8 @@
|
|||
<span class="purpose">To deal with multiple inter architectures.</span></p>
|
||||
</li>
|
||||
<li>
|
||||
<p><a href="1-lbr.html"><spon class="sectiontitle">Libraries</span></a> -
|
||||
<span class="purpose">Architecture-neutral blocks of linkable inter material are called libraries.</span></p>
|
||||
<p><a href="1-li.html"><spon class="sectiontitle">Link Instructions</span></a> -
|
||||
<span class="purpose">Inter often needs to assimilate or otherwise deal with architecture-neutral kits of linkable material, and this is where such requirements are noted.</span></p>
|
||||
</li>
|
||||
<li>
|
||||
<p><a href="1-ppl.html"><spon class="sectiontitle">Pipelines</span></a> -
|
||||
|
|
|
@ -19,7 +19,8 @@
|
|||
<pre class="display">
|
||||
<span class="reserved">typedef</span><span class="plain"> </span><span class="reserved">struct</span><span class="plain"> </span><span class="reserved">inform_kit</span><span class="plain"> {</span>
|
||||
<span class="reserved">struct</span><span class="plain"> </span><span class="identifier">text_stream</span><span class="plain"> *</span><span class="identifier">name</span><span class="plain">;</span>
|
||||
<span class="reserved">struct</span><span class="plain"> </span><span class="identifier">inter_library</span><span class="plain"> *</span><span class="identifier">lib</span><span class="plain">;</span>
|
||||
<span class="reserved">struct</span><span class="plain"> </span><span class="identifier">pathname</span><span class="plain"> *</span><span class="identifier">location</span><span class="plain">;</span>
|
||||
<span class="reserved">struct</span><span class="plain"> </span><span class="identifier">text_stream</span><span class="plain"> *</span><span class="identifier">attachment_point</span><span class="plain">;</span>
|
||||
<span class="reserved">struct</span><span class="plain"> </span><span class="identifier">text_stream</span><span class="plain"> *</span><span class="identifier">early_source</span><span class="plain">;</span>
|
||||
<span class="reserved">struct</span><span class="plain"> </span><span class="identifier">linked_list</span><span class="plain"> *</span><span class="identifier">ittt</span><span class="plain">; </span> <span class="comment">of <code class="display"><span class="extract">inform_kit_ittt</span></code></span>
|
||||
<span class="reserved">struct</span><span class="plain"> </span><span class="identifier">linked_list</span><span class="plain"> *</span><span class="identifier">kind_definitions</span><span class="plain">; </span> <span class="comment">of <code class="display"><span class="extract">text_stream</span></code></span>
|
||||
|
@ -45,14 +46,21 @@
|
|||
<span class="identifier">MEMORY_MANAGEMENT</span>
|
||||
<span class="plain">} </span><span class="reserved">element_activation</span><span class="plain">;</span>
|
||||
|
||||
<span class="reserved">inform_kit</span><span class="plain"> *</span><span class="functiontext">Kits::load</span><span class="plain">(</span><span class="identifier">text_stream</span><span class="plain"> *</span><span class="identifier">name</span><span class="plain">) {</span>
|
||||
<span class="identifier">pathname</span><span class="plain"> *</span><span class="functiontext">Kits::find</span><span class="plain">(</span><span class="identifier">text_stream</span><span class="plain"> *</span><span class="identifier">name</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">N</span><span class="plain">, </span><span class="identifier">pathname</span><span class="plain"> **</span><span class="identifier">PP</span><span class="plain">) {</span>
|
||||
<span class="reserved">for</span><span class="plain"> (</span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">i</span><span class="plain">=0; </span><span class="identifier">i</span><span class="plain"><</span><span class="identifier">N</span><span class="plain">; </span><span class="identifier">i</span><span class="plain">++) {</span>
|
||||
<span class="identifier">pathname</span><span class="plain"> *</span><span class="identifier">P</span><span class="plain"> = </span><span class="identifier">Pathnames::subfolder</span><span class="plain">(</span><span class="identifier">PP</span><span class="plain">[</span><span class="identifier">i</span><span class="plain">], </span><span class="identifier">name</span><span class="plain">);</span>
|
||||
<span class="identifier">filename</span><span class="plain"> *</span><span class="identifier">F</span><span class="plain"> = </span><span class="identifier">Filenames::in_folder</span><span class="plain">(</span><span class="identifier">P</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"kit_metadata.txt"</span><span class="plain">);</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">TextFiles::exists</span><span class="plain">(</span><span class="identifier">F</span><span class="plain">)) </span><span class="reserved">return</span><span class="plain"> </span><span class="identifier">P</span><span class="plain">;</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">NULL</span><span class="plain">;</span>
|
||||
<span class="plain">}</span>
|
||||
|
||||
<span class="reserved">inform_kit</span><span class="plain"> *</span><span class="functiontext">Kits::load_at</span><span class="plain">(</span><span class="identifier">text_stream</span><span class="plain"> *</span><span class="identifier">name</span><span class="plain">, </span><span class="identifier">pathname</span><span class="plain"> *</span><span class="identifier">P</span><span class="plain">) {</span>
|
||||
<span class="reserved">inform_kit</span><span class="plain"> *</span><span class="identifier">K</span><span class="plain"> = </span><span class="identifier">CREATE</span><span class="plain">(</span><span class="reserved">inform_kit</span><span class="plain">);</span>
|
||||
<span class="identifier">K</span><span class="plain">-</span><span class="element">>name</span><span class="plain"> = </span><span class="identifier">Str::duplicate</span><span class="plain">(</span><span class="identifier">name</span><span class="plain">);</span>
|
||||
<span class="identifier">K</span><span class="plain">-</span><span class="element">>lib</span><span class="plain"> = </span><span class="identifier">CodeGen::Libraries::find</span><span class="plain">(</span><span class="identifier">name</span><span class="plain">, </span><span class="constant">NO_FS_AREAS</span><span class="plain">, </span><span class="identifier">pathname_of_inter_resources</span><span class="plain">);</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">K</span><span class="plain">-</span><span class="element">>lib</span><span class="plain"> == </span><span class="identifier">NULL</span><span class="plain">) {</span>
|
||||
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">STDERR</span><span class="plain">, </span><span class="string">"Cannot find kit '%S'\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">name</span><span class="plain">);</span>
|
||||
<span class="identifier">Problems::Fatal::issue</span><span class="plain">(</span><span class="string">"Unable to find one of the Inform support kits"</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="identifier">K</span><span class="plain">-</span><span class="element">>attachment_point</span><span class="plain"> = </span><span class="identifier">Str::new</span><span class="plain">();</span>
|
||||
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">K</span><span class="plain">-</span><span class="element">>attachment_point</span><span class="plain">, </span><span class="string">"/main/%S"</span><span class="plain">, </span><span class="identifier">name</span><span class="plain">);</span>
|
||||
<span class="identifier">K</span><span class="plain">-</span><span class="element">>location</span><span class="plain"> = </span><span class="identifier">P</span><span class="plain">;</span>
|
||||
<span class="identifier">K</span><span class="plain">-</span><span class="element">>early_source</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
|
||||
<span class="identifier">K</span><span class="plain">-</span><span class="element">>priority</span><span class="plain"> = 10;</span>
|
||||
<span class="identifier">K</span><span class="plain">-</span><span class="element">>ittt</span><span class="plain"> = </span><span class="identifier">NEW_LINKED_LIST</span><span class="plain">(</span><span class="reserved">inform_kit_ittt</span><span class="plain">);</span>
|
||||
|
@ -63,14 +71,22 @@
|
|||
<span class="identifier">K</span><span class="plain">-</span><span class="element">>supports_natural_language</span><span class="plain"> = </span><span class="identifier">FALSE</span><span class="plain">;</span>
|
||||
<span class="identifier">K</span><span class="plain">-</span><span class="element">>index_template</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
|
||||
|
||||
<span class="identifier">pathname</span><span class="plain"> *</span><span class="identifier">P</span><span class="plain"> = </span><span class="identifier">CodeGen::Libraries::location</span><span class="plain">(</span><span class="identifier">K</span><span class="plain">-</span><span class="element">>lib</span><span class="plain">);</span>
|
||||
<span class="identifier">filename</span><span class="plain"> *</span><span class="identifier">F</span><span class="plain"> = </span><span class="identifier">Filenames::in_folder</span><span class="plain">(</span><span class="identifier">P</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"kit_metadata.txt"</span><span class="plain">);</span>
|
||||
<span class="identifier">filename</span><span class="plain"> *</span><span class="identifier">F</span><span class="plain"> = </span><span class="identifier">Filenames::in_folder</span><span class="plain">(</span><span class="identifier">K</span><span class="plain">-</span><span class="element">>location</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"kit_metadata.txt"</span><span class="plain">);</span>
|
||||
<span class="identifier">TextFiles::read</span><span class="plain">(</span><span class="identifier">F</span><span class="plain">, </span><span class="identifier">FALSE</span><span class="plain">,</span>
|
||||
<span class="identifier">NULL</span><span class="plain">, </span><span class="identifier">FALSE</span><span class="plain">, </span><span class="functiontext">Kits::read_metadata</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">, (</span><span class="reserved">void</span><span class="plain"> *) </span><span class="identifier">K</span><span class="plain">);</span>
|
||||
|
||||
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">K</span><span class="plain">;</span>
|
||||
<span class="plain">}</span>
|
||||
|
||||
<span class="reserved">inform_kit</span><span class="plain"> *</span><span class="functiontext">Kits::load</span><span class="plain">(</span><span class="identifier">text_stream</span><span class="plain"> *</span><span class="identifier">name</span><span class="plain">) {</span>
|
||||
<span class="identifier">pathname</span><span class="plain"> *</span><span class="identifier">P</span><span class="plain"> = </span><span class="functiontext">Kits::find</span><span class="plain">(</span><span class="identifier">name</span><span class="plain">, </span><span class="constant">NO_FS_AREAS</span><span class="plain">, </span><span class="identifier">pathname_of_inter_resources</span><span class="plain">);</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">P</span><span class="plain"> == </span><span class="identifier">NULL</span><span class="plain">) {</span>
|
||||
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">STDERR</span><span class="plain">, </span><span class="string">"Cannot find kit '%S'\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">name</span><span class="plain">);</span>
|
||||
<span class="identifier">Problems::Fatal::issue</span><span class="plain">(</span><span class="string">"Unable to find one of the Inform support kits"</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="reserved">return</span><span class="plain"> </span><span class="functiontext">Kits::load_at</span><span class="plain">(</span><span class="identifier">name</span><span class="plain">, </span><span class="identifier">P</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
|
||||
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">Kits::dependency</span><span class="plain">(</span><span class="reserved">inform_kit</span><span class="plain"> *</span><span class="identifier">K</span><span class="plain">, </span><span class="identifier">text_stream</span><span class="plain"> *</span><span class="identifier">if_text</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">inc</span><span class="plain">, </span><span class="identifier">text_stream</span><span class="plain"> *</span><span class="identifier">then_text</span><span class="plain">) {</span>
|
||||
<span class="reserved">inform_kit_ittt</span><span class="plain"> *</span><span class="identifier">ITTT</span><span class="plain"> = </span><span class="identifier">CREATE</span><span class="plain">(</span><span class="reserved">inform_kit_ittt</span><span class="plain">);</span>
|
||||
<span class="identifier">ITTT</span><span class="plain">-</span><span class="element">>if_name</span><span class="plain"> = </span><span class="identifier">Str::duplicate</span><span class="plain">(</span><span class="identifier">if_text</span><span class="plain">);</span>
|
||||
|
@ -188,8 +204,7 @@
|
|||
<span class="identifier">LOOP_OVER_LINKED_LIST</span><span class="plain">(</span><span class="identifier">K</span><span class="plain">, </span><span class="reserved">inform_kit</span><span class="plain">, </span><span class="identifier">kits_to_include</span><span class="plain">) {</span>
|
||||
<span class="identifier">text_stream</span><span class="plain"> *</span><span class="identifier">segment</span><span class="plain">;</span>
|
||||
<span class="identifier">LOOP_OVER_LINKED_LIST</span><span class="plain">(</span><span class="identifier">segment</span><span class="plain">, </span><span class="identifier">text_stream</span><span class="plain">, </span><span class="identifier">K</span><span class="plain">-</span><span class="element">>kind_definitions</span><span class="plain">) {</span>
|
||||
<span class="identifier">pathname</span><span class="plain"> *</span><span class="identifier">P</span><span class="plain"> = </span><span class="identifier">CodeGen::Libraries::location</span><span class="plain">(</span><span class="identifier">K</span><span class="plain">-</span><span class="element">>lib</span><span class="plain">);</span>
|
||||
<span class="identifier">P</span><span class="plain"> = </span><span class="identifier">Pathnames::subfolder</span><span class="plain">(</span><span class="identifier">P</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"kinds"</span><span class="plain">);</span>
|
||||
<span class="identifier">pathname</span><span class="plain"> *</span><span class="identifier">P</span><span class="plain"> = </span><span class="identifier">Pathnames::subfolder</span><span class="plain">(</span><span class="identifier">K</span><span class="plain">-</span><span class="element">>location</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"kinds"</span><span class="plain">);</span>
|
||||
<span class="identifier">filename</span><span class="plain"> *</span><span class="identifier">F</span><span class="plain"> = </span><span class="identifier">Filenames::in_folder</span><span class="plain">(</span><span class="identifier">P</span><span class="plain">, </span><span class="identifier">segment</span><span class="plain">);</span>
|
||||
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"Loading kinds definitions from %f\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">F</span><span class="plain">);</span>
|
||||
<span class="functiontext">I6T::interpret_kindt</span><span class="plain">(</span><span class="identifier">F</span><span class="plain">);</span>
|
||||
|
@ -239,6 +254,10 @@
|
|||
|
||||
<p class="inwebparagraph"></p>
|
||||
|
||||
<p class="endnote">The function Kits::find appears nowhere else.</p>
|
||||
|
||||
<p class="endnote">The function Kits::load_at appears nowhere else.</p>
|
||||
|
||||
<p class="endnote">The function Kits::load appears nowhere else.</p>
|
||||
|
||||
<p class="endnote">The function Kits::dependency appears nowhere else.</p>
|
||||
|
@ -310,10 +329,12 @@ files of source text to be read, and quite possibly more.
|
|||
|
||||
<span class="identifier">linked_list</span><span class="plain"> *</span><span class="identifier">requirements_list</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
|
||||
<span class="identifier">linked_list</span><span class="plain"> *</span><span class="functiontext">Kits::list_of_inter_libraries</span><span class="plain">(</span><span class="reserved">void</span><span class="plain">) {</span>
|
||||
<span class="identifier">requirements_list</span><span class="plain"> = </span><span class="identifier">NEW_LINKED_LIST</span><span class="plain">(</span><span class="identifier">inter_library</span><span class="plain">);</span>
|
||||
<span class="identifier">requirements_list</span><span class="plain"> = </span><span class="identifier">NEW_LINKED_LIST</span><span class="plain">(</span><span class="identifier">link_instruction</span><span class="plain">);</span>
|
||||
<span class="reserved">inform_kit</span><span class="plain"> *</span><span class="identifier">K</span><span class="plain">;</span>
|
||||
<span class="identifier">LOOP_OVER_LINKED_LIST</span><span class="plain">(</span><span class="identifier">K</span><span class="plain">, </span><span class="reserved">inform_kit</span><span class="plain">, </span><span class="identifier">kits_to_include</span><span class="plain">)</span>
|
||||
<span class="identifier">ADD_TO_LINKED_LIST</span><span class="plain">(</span><span class="identifier">K</span><span class="plain">-</span><span class="element">>lib</span><span class="plain">, </span><span class="identifier">inter_library</span><span class="plain">, </span><span class="identifier">requirements_list</span><span class="plain">);</span>
|
||||
<span class="identifier">LOOP_OVER_LINKED_LIST</span><span class="plain">(</span><span class="identifier">K</span><span class="plain">, </span><span class="reserved">inform_kit</span><span class="plain">, </span><span class="identifier">kits_to_include</span><span class="plain">) {</span>
|
||||
<span class="identifier">link_instruction</span><span class="plain"> *</span><span class="identifier">link</span><span class="plain"> = </span><span class="identifier">CodeGen::LinkInstructions::new</span><span class="plain">(</span><span class="identifier">K</span><span class="plain">-</span><span class="element">>location</span><span class="plain">, </span><span class="identifier">K</span><span class="plain">-</span><span class="element">>attachment_point</span><span class="plain">);</span>
|
||||
<span class="identifier">ADD_TO_LINKED_LIST</span><span class="plain">(</span><span class="identifier">link</span><span class="plain">, </span><span class="identifier">link_instruction</span><span class="plain">, </span><span class="identifier">requirements_list</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">requirements_list</span><span class="plain">;</span>
|
||||
<span class="plain">}</span>
|
||||
</pre>
|
||||
|
|
79
docs/inbuild/1-mn.html
Normal file
79
docs/inbuild/1-mn.html
Normal file
|
@ -0,0 +1,79 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>P/ui</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="Content-Language" content="en-gb">
|
||||
<link href="inweb.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!--Weave of '1/mn' generated by 7-->
|
||||
<ul class="crumbs"><li><a href="../webs.html">★</a></li><li><a href="index.html">inbuild 1</a></li><li><a href="index.html#1">Chapter 1: The Whole Shooting Match</a></li><li><b>Main</b></li></ul><p class="purpose">The top level, which decides what is to be done and then carries this plan out.</p>
|
||||
|
||||
<ul class="toc"><li><a href="#SP1">§1. Main routine</a></li></ul><hr class="tocbar">
|
||||
|
||||
<p class="inwebparagraph"><a id="SP1"></a><b>§1. Main routine. </b></p>
|
||||
|
||||
|
||||
<pre class="definitions">
|
||||
<span class="definitionkeyword">define</span> <span class="constant">INTOOL_NAME</span><span class="plain"> </span><span class="string">"inbuild"</span>
|
||||
</pre>
|
||||
|
||||
<pre class="display">
|
||||
<span class="reserved">int</span><span class="plain"> </span><span class="functiontext">main</span><span class="plain">(</span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">argc</span><span class="plain">, </span><span class="reserved">char</span><span class="plain"> **</span><span class="identifier">argv</span><span class="plain">) {</span>
|
||||
<span class="functiontext">Foundation::start</span><span class="plain">();</span>
|
||||
<<span class="cwebmacro">Read the command line</span> <span class="cwebmacronumber">1.1</span>><span class="plain">;</span>
|
||||
<span class="functiontext">Foundation::end</span><span class="plain">();</span>
|
||||
<span class="reserved">return</span><span class="plain"> 0;</span>
|
||||
<span class="plain">}</span>
|
||||
</pre>
|
||||
|
||||
<p class="inwebparagraph"></p>
|
||||
|
||||
<p class="endnote">The function main appears nowhere else.</p>
|
||||
|
||||
<p class="inwebparagraph"><a id="SP1_1"></a><b>§1.1. </b>We use Foundation to read the command line:
|
||||
</p>
|
||||
|
||||
|
||||
<p class="macrodefinition"><code class="display">
|
||||
<<span class="cwebmacrodefn">Read the command line</span> <span class="cwebmacronumber">1.1</span>> =
|
||||
</code></p>
|
||||
|
||||
|
||||
<pre class="displaydefn">
|
||||
<span class="functiontext">CommandLine::declare_heading</span><span class="plain">(</span>
|
||||
<span class="identifier">L</span><span class="string">"[[Purpose]]\</span><span class="plain">n</span><span class="string">\</span><span class="plain">n</span><span class="string">"</span>
|
||||
<span class="identifier">L</span><span class="string">"usage: inbuild\</span><span class="plain">n</span><span class="string">"</span><span class="plain">);</span>
|
||||
|
||||
<span class="functiontext">CommandLine::read</span><span class="plain">(</span><span class="identifier">argc</span><span class="plain">, </span><span class="identifier">argv</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">, &</span><span class="functiontext">Main::option</span><span class="plain">, &</span><span class="functiontext">Main::bareword</span><span class="plain">);</span>
|
||||
</pre>
|
||||
|
||||
<p class="inwebparagraph"></p>
|
||||
|
||||
<p class="endnote">This code is used in <a href="#SP1">§1</a>.</p>
|
||||
|
||||
<p class="inwebparagraph"><a id="SP2"></a><b>§2. </b></p>
|
||||
|
||||
|
||||
<pre class="display">
|
||||
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">Main::option</span><span class="plain">(</span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">id</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">val</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">arg</span><span class="plain">, </span><span class="reserved">void</span><span class="plain"> *</span><span class="identifier">state</span><span class="plain">) {</span>
|
||||
<span class="plain">}</span>
|
||||
|
||||
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">Main::bareword</span><span class="plain">(</span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">id</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">arg</span><span class="plain">, </span><span class="reserved">void</span><span class="plain"> *</span><span class="identifier">state</span><span class="plain">) {</span>
|
||||
<span class="plain">}</span>
|
||||
</pre>
|
||||
|
||||
<p class="inwebparagraph"></p>
|
||||
|
||||
<p class="endnote">The function Main::option is used in <a href="#SP1_1">§1.1</a>.</p>
|
||||
|
||||
<p class="endnote">The function Main::bareword is used in <a href="#SP1_1">§1.1</a>.</p>
|
||||
|
||||
<hr class="tocbar">
|
||||
<ul class="toc"><li><i>(This section begins Chapter 1: The Whole Shooting Match.)</i></li><li><i>(This section ends Chapter 1: The Whole Shooting Match.)</i></li></ul><hr class="tocbar">
|
||||
<!--End of weave-->
|
||||
</body>
|
||||
</html>
|
||||
|
22
docs/inbuild/P-ui.html
Normal file
22
docs/inbuild/P-ui.html
Normal file
|
@ -0,0 +1,22 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>Booklet Title</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="Content-Language" content="en-gb">
|
||||
<link href="inweb.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!--Weave of 'P/ui' generated by 7-->
|
||||
<ul class="crumbs"><li><a href="../webs.html">★</a></li><li><a href="index.html">inbuild 1</a></li><li><a href="index.html#P">Preliminaries</a></li><li><b>Using Inbuild</b></li></ul><p class="purpose">A brief user guide.</p>
|
||||
|
||||
<p class="inwebparagraph"><a id="SP1"></a><b>§1. </b>Inbuild is a rudimentary build and package manager for the Inform tools.
|
||||
</p>
|
||||
|
||||
<hr class="tocbar">
|
||||
<ul class="toc"><li><i>(This section begins Preliminaries.)</i></li><li><i>(This section ends Preliminaries.)</i></li></ul><hr class="tocbar">
|
||||
<!--End of weave-->
|
||||
</body>
|
||||
</html>
|
||||
|
BIN
docs/inbuild/crumbs.gif
Normal file
BIN
docs/inbuild/crumbs.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.2 KiB |
39
docs/inbuild/index.html
Normal file
39
docs/inbuild/index.html
Normal file
|
@ -0,0 +1,39 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>inbuild 1</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="Content-Language" content="en-gb">
|
||||
<link href="inweb.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<ul class="crumbs"><li><a href="../webs.html">★</a></li><li><b>inbuild 1</b></li></ul>
|
||||
<p class="purpose">A simple build and package manager for the Inform tools.</p>
|
||||
<hr>
|
||||
<ul class="chapterlist">
|
||||
<li>
|
||||
<p><a name="P"></a><spon class="chaptertitle">Preliminaries</span></p>
|
||||
<p><span class="purpose"></span></p>
|
||||
<ul class="sectionlist">
|
||||
<li>
|
||||
<p><a href="P-ui.html"><spon class="sectiontitle">Using Inbuild</span></a> -
|
||||
<span class="purpose">A brief user guide.</span></p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p><a name="1"></a><spon class="chaptertitle">Chapter 1: The Whole Shooting Match</span></p>
|
||||
<p><span class="purpose"></span></p>
|
||||
<ul class="sectionlist">
|
||||
<li>
|
||||
<p><a href="1-mn.html"><spon class="sectiontitle">Main</span></a> -
|
||||
<span class="purpose">The top level, which decides what is to be done and then carries this plan out.</span></p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<hr>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
288
docs/inbuild/inweb.css
Normal file
288
docs/inbuild/inweb.css
Normal file
|
@ -0,0 +1,288 @@
|
|||
/* This is a CSS file for pages woven by the literate programming tool inweb */
|
||||
|
||||
/* We'll start with syntax colouring, since everyone likes to toy with this: */
|
||||
|
||||
.cwebmacrotext { color: #000000; font-weight: bold; } /* The name of a web macro */
|
||||
.functiontext { color: #C00000; } /* When a C function is being defined */
|
||||
.string { color: #408040; } /* A double-quoted C literal string */
|
||||
.character { color: #204020; } /* A single-quoted C literal character */
|
||||
.constant { color: #204020; } /* A named constant */
|
||||
.element { color: #40407f; } /* A C structure element */
|
||||
.identifier { color: #4040ff; } /* An identifier */
|
||||
.reserved { color: #600000; } /* A reserved word */
|
||||
|
||||
/* Comments at the end of lines are rendered like so: */
|
||||
|
||||
.comment {
|
||||
font: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
|
||||
color: #404040;
|
||||
font-style:italic;
|
||||
}
|
||||
|
||||
/* The name of a web macro when being used: */
|
||||
|
||||
.cwebmacro {
|
||||
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
|
||||
text-decoration: none;
|
||||
color: #000000; font-weight: bold;
|
||||
}
|
||||
|
||||
.cwebmacronumber {
|
||||
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
|
||||
font-size: 80%;
|
||||
text-decoration: none;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
/* And when being defined: */
|
||||
|
||||
.cwebmacrodefn {
|
||||
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
|
||||
text-decoration: none;
|
||||
color: #000000; font-weight: bold;
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
/* Now some generalities: */
|
||||
|
||||
body {
|
||||
background-color: #ffffff;
|
||||
margin: 8px;
|
||||
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
|
||||
font-size: 16px;
|
||||
line-height: 24px;
|
||||
background-color: transparent;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
|
||||
/* Forms of paragraph: */
|
||||
|
||||
p {
|
||||
margin: 0;
|
||||
padding-top: 5px;
|
||||
padding-bottom: 5px;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
/* Where an inweb paragraph begins: */
|
||||
|
||||
p.inwebparagraph {
|
||||
width: 60em;
|
||||
line-height: 150%;
|
||||
padding-top: 15px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
/* If a web macro definition begins in its own paragraph, this is it: */
|
||||
|
||||
p.macrodefinition {
|
||||
padding-top: 0px;
|
||||
padding-bottom: 0px;
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
/* The endnotes at the foot of code: "The function foo_bar is used in ..." */
|
||||
|
||||
p.endnote {
|
||||
font-size: 0.8em;
|
||||
padding-top: 0px;
|
||||
padding-bottom: 0px;
|
||||
margin-left: 30px;
|
||||
text-decoration:none;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
/* The Purpose slug: */
|
||||
|
||||
p.purpose {
|
||||
width: 60em;
|
||||
line-height: 150%;
|
||||
font-size: 1em;
|
||||
font-style:italic;
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
/* Blocks of code appear in these */
|
||||
|
||||
pre {
|
||||
font-family: Monaco, monospace;
|
||||
}
|
||||
|
||||
pre.display {
|
||||
padding: 3px;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
margin-left: 30px;
|
||||
margin-right: 10px;
|
||||
background: #f8f8f8;
|
||||
border-width: 1px;
|
||||
border-style: solid solid solid solid;
|
||||
border-color: #ccc;
|
||||
word-wrap: break-word;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
pre.displaydefn {
|
||||
padding: 3px;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 0px;
|
||||
margin-left: 0px;
|
||||
margin-right: 10px;
|
||||
background: #f8f8f8;
|
||||
border-width: 1px;
|
||||
border-style: solid solid solid solid;
|
||||
border-color: #ccc;
|
||||
word-wrap: break-word;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
pre.definitions {
|
||||
padding-top: 0px;
|
||||
margin-top: 0px;
|
||||
margin-left: 0px;
|
||||
margin-right: 10px;
|
||||
word-wrap: break-word;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
/* The following are for breadcrumbs of links: */
|
||||
|
||||
ul, li {
|
||||
list-style-type:none;
|
||||
padding:0;
|
||||
margin:0;
|
||||
}
|
||||
|
||||
.crumbs {
|
||||
border:1px solid #dedede;
|
||||
height:3.45em;
|
||||
}
|
||||
|
||||
.crumbs li {
|
||||
float:left;
|
||||
line-height:2.3em;
|
||||
padding-left:.75em;
|
||||
color:#333;
|
||||
font-size: 1.5em;
|
||||
}
|
||||
|
||||
.crumbs li a {
|
||||
display:block;
|
||||
padding:0 15px 0 0;
|
||||
background:url(crumbs.gif) no-repeat right center;
|
||||
}
|
||||
|
||||
.crumbs li a:link, #crumbs li a:visited {
|
||||
text-decoration:none;
|
||||
color:#333;
|
||||
}
|
||||
|
||||
.crumbs li a:hover, #crumbs li a:focus {
|
||||
color:#dd2c0d;
|
||||
}
|
||||
|
||||
/* This is for items in lists from inweb source: */
|
||||
|
||||
ul.items {
|
||||
margin-top: 3px;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
ul.items li {
|
||||
margin-top: 1px;
|
||||
margin-bottom: 1px;
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
/* And this is for each section's table of contents: */
|
||||
|
||||
ul.toc {
|
||||
margin-top: 3px;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
ul.toc li {
|
||||
float:left;
|
||||
margin-left: 15px;
|
||||
color:#000;
|
||||
}
|
||||
|
||||
ul.toc li a {
|
||||
display:block;
|
||||
}
|
||||
|
||||
ul.toc li a:link, ul.toc li a:visited {
|
||||
text-decoration:none;
|
||||
color:#000;
|
||||
}
|
||||
|
||||
ul.toc li a:hover, ul.toc li a:focus {
|
||||
color:#dd2c0d;
|
||||
}
|
||||
|
||||
hr.tocbar {
|
||||
clear: both;
|
||||
margin-top:3px;
|
||||
margin-bottom:3px;
|
||||
color:#333;
|
||||
border:0
|
||||
background-color:#333;
|
||||
}
|
||||
|
||||
/* This is for cross-reference links ("This code is used in ...") */
|
||||
|
||||
p.endnote:link, p.endnote:visited, p.endnote:hover, p.endnote:focus {
|
||||
text-decoration:none;
|
||||
color:#000;
|
||||
}
|
||||
|
||||
p.endnote a:link, p.endnote a:visited {
|
||||
text-decoration:none;
|
||||
color:#000;
|
||||
}
|
||||
|
||||
p.endnote a:hover, p.endnote a:focus {
|
||||
text-decoration:none;
|
||||
color:#dd2c0d;
|
||||
}
|
||||
|
||||
/* Now for the index page */
|
||||
|
||||
p.heading {
|
||||
margin-top: 2px;
|
||||
margin-bottom: 2px;
|
||||
font-size: 20
|
||||
}
|
||||
p.chapter {
|
||||
font-size: 14
|
||||
}
|
||||
p.tight {
|
||||
font-size: 12
|
||||
}
|
||||
p.tightin {
|
||||
padding-left: 25px;
|
||||
font-size: 12
|
||||
}
|
||||
.chapterlist li {
|
||||
padding-top: 8px;
|
||||
padding-left: 16px;
|
||||
}
|
||||
.chaptertitle {
|
||||
font-weight: bold;
|
||||
}
|
||||
.chapterlist .sectionlist li {
|
||||
padding-left: 48px;
|
||||
}
|
||||
span.definitionkeyword {
|
||||
color:#801010;
|
||||
font-weight:bold;
|
||||
}
|
||||
span.extract {
|
||||
font-size: 15px;
|
||||
border: 1px solid #e8e8e8;
|
||||
border-radius: 3px;
|
||||
background-color: #eef;
|
||||
width: 100%;
|
||||
padding: 3px;
|
||||
}
|
||||
|
|
@ -43,7 +43,7 @@ when they want I7 to run.
|
|||
|
||||
<p class="inwebparagraph"></p>
|
||||
|
||||
<p class="endnote">The function main is used in 2/pt (<a href="2-pt.html#SP52">§52</a>), 2/pl2 (<a href="2-pl2.html#SP3_1">§3.1</a>), 2/pck (<a href="2-pck.html#SP3">§3</a>), 2/cnn (<a href="2-cnn.html#SP1">§1</a>), 3/rst (<a href="3-rst.html#SP6">§6</a>), 4/am (<a href="4-am.html#SP26_1">§26.1</a>), 8/ef (<a href="8-ef.html#SP26">§26</a>), 8/ed2 (<a href="8-ed2.html#SP3_2">§3.2</a>), 10/varc (<a href="10-varc.html#SP14">§14</a>), 19/tb (<a href="19-tb.html#SP27">§27</a>, <a href="19-tb.html#SP27_1">§27.1</a>, <a href="19-tb.html#SP27_1_3">§27.1.3</a>, <a href="19-tb.html#SP29">§29</a>), 21/rl2 (<a href="21-rl2.html#SP23">§23</a>), 22/ph (<a href="22-ph.html#SP4">§4</a>), 22/pu (<a href="22-pu.html#SP3">§3</a>), 26/uo (<a href="26-uo.html#SP11_1">§11.1</a>), 27/cm (<a href="27-cm.html#SP1">§1</a>), 1/bs (<a href="1-bs.html#SP2">§2</a>), 1/lbr (<a href="1-lbr.html#SP1">§1</a>), 3/fc (<a href="3-fc.html#SP1">§1</a>), 3/sm (<a href="3-sm.html#SP36">§36</a>, <a href="3-sm.html#SP36_1">§36.1</a>, <a href="3-sm.html#SP38">§38</a>), 3/em2 (<a href="3-em2.html#SP24">§24</a>), 4/ap (<a href="4-ap.html#SP2">§2</a>), 2/hf (<a href="2-hf.html#SP6">§6</a>).</p>
|
||||
<p class="endnote">The function main is used in 2/pt (<a href="2-pt.html#SP52">§52</a>), 2/pl2 (<a href="2-pl2.html#SP3_1">§3.1</a>), 2/pck (<a href="2-pck.html#SP3">§3</a>), 2/cnn (<a href="2-cnn.html#SP1">§1</a>), 1/kts (<a href="1-kts.html#SP1">§1</a>), 3/rst (<a href="3-rst.html#SP6">§6</a>), 4/am (<a href="4-am.html#SP26_1">§26.1</a>), 8/ef (<a href="8-ef.html#SP26">§26</a>), 8/ed2 (<a href="8-ed2.html#SP3_2">§3.2</a>), 10/varc (<a href="10-varc.html#SP14">§14</a>), 19/tb (<a href="19-tb.html#SP27">§27</a>, <a href="19-tb.html#SP27_1">§27.1</a>, <a href="19-tb.html#SP27_1_3">§27.1.3</a>, <a href="19-tb.html#SP29">§29</a>), 21/rl2 (<a href="21-rl2.html#SP23">§23</a>), 22/ph (<a href="22-ph.html#SP4">§4</a>), 22/pu (<a href="22-pu.html#SP3">§3</a>), 26/uo (<a href="26-uo.html#SP11_1">§11.1</a>), 27/cm (<a href="27-cm.html#SP1">§1</a>), 1/bs (<a href="1-bs.html#SP2">§2</a>), 3/fc (<a href="3-fc.html#SP1">§1</a>), 3/sm (<a href="3-sm.html#SP36">§36</a>, <a href="3-sm.html#SP36_1">§36.1</a>, <a href="3-sm.html#SP38">§38</a>), 3/em2 (<a href="3-em2.html#SP24">§24</a>), 4/ap (<a href="4-ap.html#SP2">§2</a>), 2/hf (<a href="2-hf.html#SP6">§6</a>).</p>
|
||||
|
||||
<p class="inwebparagraph"><a id="SP3"></a><b>§3. </b>Either way, that brings us here. All our modules have to be started up and
|
||||
shut down, so we take care of that with one more intermediary. These modules
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
|
||||
<span class="identifier">path_to_inter</span><span class="plain"> = </span><span class="functiontext">Pathnames::installation_path</span><span class="plain">(</span><span class="string">"INTER_PATH"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"inter"</span><span class="plain">);</span>
|
||||
<span class="identifier">path_to_pipelines</span><span class="plain"> = </span><span class="functiontext">Pathnames::subfolder</span><span class="plain">(</span><span class="identifier">path_to_inter</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"Pipelines"</span><span class="plain">);</span>
|
||||
<span class="identifier">requirements_list</span><span class="plain"> = </span><span class="identifier">NEW_LINKED_LIST</span><span class="plain">(</span><span class="reserved">inter_library</span><span class="plain">);</span>
|
||||
<span class="identifier">requirements_list</span><span class="plain"> = </span><span class="identifier">NEW_LINKED_LIST</span><span class="plain">(</span><span class="identifier">inter_library</span><span class="plain">);</span>
|
||||
|
||||
<span class="functiontext">CommandLine::declare_heading</span><span class="plain">(</span>
|
||||
<span class="identifier">L</span><span class="string">"[[Purpose]]\</span><span class="plain">n</span><span class="string">\</span><span class="plain">n</span><span class="string">"</span>
|
||||
|
@ -83,8 +83,6 @@
|
|||
<span class="functiontext">CommandLine::read</span><span class="plain">(</span><span class="identifier">argc</span><span class="plain">, </span><span class="identifier">argv</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">, &</span><span class="functiontext">Main::respond</span><span class="plain">, &</span><span class="functiontext">Main::add_file</span><span class="plain">);</span>
|
||||
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">template_action</span><span class="plain"> == </span><span class="constant">ASSIMILATE_CLSW</span><span class="plain">) {</span>
|
||||
<span class="reserved">inter_library</span><span class="plain"> *</span><span class="identifier">lib</span><span class="plain"> = </span><span class="functiontext">CodeGen::Libraries::new</span><span class="plain">(</span><span class="identifier">template_path</span><span class="plain">);</span>
|
||||
<span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">attach</span><span class="plain"> = </span><span class="functiontext">CodeGen::Libraries::URL</span><span class="plain">(</span><span class="identifier">lib</span><span class="plain">);</span>
|
||||
<span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">name</span><span class="plain"> = </span><span class="functiontext">CodeGen::Architecture::leafname</span><span class="plain">();</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="functiontext">Str::len</span><span class="plain">(</span><span class="identifier">name</span><span class="plain">) == 0) </span><span class="functiontext">Errors::fatal</span><span class="plain">(</span><span class="string">"no -architecture given"</span><span class="plain">);</span>
|
||||
<span class="identifier">pipeline_as_file</span><span class="plain"> = </span><span class="functiontext">Filenames::in_folder</span><span class="plain">(</span><span class="identifier">path_to_pipelines</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"assimilate.interpipeline"</span><span class="plain">);</span>
|
||||
|
@ -103,9 +101,7 @@
|
|||
<span class="identifier">DISCARD_TEXT</span><span class="plain">(</span><span class="identifier">leafname</span><span class="plain">);</span>
|
||||
<span class="identifier">DISCARD_TEXT</span><span class="plain">(</span><span class="identifier">fullname</span><span class="plain">);</span>
|
||||
<span class="reserved">match_results</span><span class="plain"> </span><span class="identifier">mr</span><span class="plain"> = </span><span class="functiontext">Regexp::create_mr</span><span class="plain">();</span>
|
||||
<span class="reserved">if</span><span class="plain"> (</span><span class="functiontext">Regexp::match</span><span class="plain">(&</span><span class="identifier">mr</span><span class="plain">, </span><span class="identifier">attach</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"/main/(%c+)"</span><span class="plain">)) {</span>
|
||||
<span class="functiontext">Str::copy</span><span class="plain">(</span><span class="functiontext">Dictionaries::create_text</span><span class="plain">(</span><span class="identifier">pipeline_vars</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"*attach"</span><span class="plain">), </span><span class="identifier">mr</span><span class="element">.exp</span><span class="plain">[0]);</span>
|
||||
<span class="plain">}</span>
|
||||
<span class="functiontext">Str::copy</span><span class="plain">(</span><span class="functiontext">Dictionaries::create_text</span><span class="plain">(</span><span class="identifier">pipeline_vars</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"*attach"</span><span class="plain">), </span><span class="functiontext">Pathnames::directory_name</span><span class="plain">(</span><span class="identifier">template_path</span><span class="plain">));</span>
|
||||
<span class="functiontext">Regexp::dispose_of</span><span class="plain">(&</span><span class="identifier">mr</span><span class="plain">);</span>
|
||||
<span class="plain">}</span>
|
||||
|
||||
|
@ -123,7 +119,7 @@
|
|||
|
||||
<p class="inwebparagraph"></p>
|
||||
|
||||
<p class="endnote">The function main is used in 2/pck (<a href="2-pck.html#SP3">§3</a>), 2/cnn (<a href="2-cnn.html#SP1">§1</a>), 1/bs (<a href="1-bs.html#SP2">§2</a>), 1/lbr (<a href="1-lbr.html#SP1">§1</a>), 3/fc (<a href="3-fc.html#SP1">§1</a>).</p>
|
||||
<p class="endnote">The function main is used in 2/pck (<a href="2-pck.html#SP3">§3</a>), 2/cnn (<a href="2-cnn.html#SP1">§1</a>), 1/bs (<a href="1-bs.html#SP2">§2</a>), 3/fc (<a href="3-fc.html#SP1">§1</a>).</p>
|
||||
|
||||
<p class="inwebparagraph"><a id="SP2"></a><b>§2. </b></p>
|
||||
|
||||
|
|
|
@ -157,6 +157,12 @@ These pages showcase the woven form, and are for human eyes only.</p>
|
|||
version 4 'Duralumin'
|
||||
- <span class="purpose">The packaging stage of the Inform 7 system, which releases a story file in the blorbed format.</span>
|
||||
Documentation is <a href="inblorb/P-ui.html">here</a>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>★ <a href="inbuild/index.html"><spon class="sectiontitle">inbuild</span></a> -
|
||||
version 1 'Avignon'
|
||||
- <span class="purpose">A simple build and package manager for the Inform tools.</span>
|
||||
Documentation is <a href="inbuild/P-ui.html">here</a>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>★ <a href="indoc/index.html"><spon class="sectiontitle">indoc</span></a> -
|
||||
|
|
14
inbuild/.gitignore
vendored
Normal file
14
inbuild/.gitignore
vendored
Normal file
|
@ -0,0 +1,14 @@
|
|||
# This gitignore was automatically written by inweb -gitignore
|
||||
# and is not intended for human editing
|
||||
|
||||
debug-log.txt
|
||||
Woven/
|
||||
Tangled/
|
||||
!Tangled/*.preform
|
||||
Tests/intest-history.txt
|
||||
Tests/Transient/
|
||||
Tests/hashes.intest
|
||||
Tests/_Results_Actual/
|
||||
|
||||
inbuild.mk
|
||||
|
32
inbuild/Chapter 1/Main.w
Normal file
32
inbuild/Chapter 1/Main.w
Normal file
|
@ -0,0 +1,32 @@
|
|||
[Main::] Main.
|
||||
|
||||
The top level, which decides what is to be done and then carries
|
||||
this plan out.
|
||||
|
||||
@h Main routine.
|
||||
|
||||
@d INTOOL_NAME "inbuild"
|
||||
|
||||
=
|
||||
int main(int argc, char **argv) {
|
||||
Foundation::start();
|
||||
@<Read the command line@>;
|
||||
Foundation::end();
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ We use Foundation to read the command line:
|
||||
|
||||
@<Read the command line@> =
|
||||
CommandLine::declare_heading(
|
||||
L"[[Purpose]]\n\n"
|
||||
L"usage: inbuild\n");
|
||||
|
||||
CommandLine::read(argc, argv, NULL, &Main::option, &Main::bareword);
|
||||
|
||||
@ =
|
||||
void Main::option(int id, int val, text_stream *arg, void *state) {
|
||||
}
|
||||
|
||||
void Main::bareword(int id, text_stream *arg, void *state) {
|
||||
}
|
15
inbuild/Contents.w
Normal file
15
inbuild/Contents.w
Normal file
|
@ -0,0 +1,15 @@
|
|||
Title: inbuild
|
||||
Author: Graham Nelson
|
||||
Purpose: A simple build and package manager for the Inform tools.
|
||||
Language: InC
|
||||
Licence: Artistic License 2.0
|
||||
Version Number: 1
|
||||
Version Name: Avignon
|
||||
|
||||
Import: foundation
|
||||
|
||||
Preliminaries
|
||||
Using Inbuild
|
||||
|
||||
Chapter 1: The Whole Shooting Match
|
||||
Main
|
5
inbuild/Preliminaries/Using Inbuild.w
Normal file
5
inbuild/Preliminaries/Using Inbuild.w
Normal file
|
@ -0,0 +1,5 @@
|
|||
Using Inbuild.
|
||||
|
||||
A brief user guide.
|
||||
|
||||
@ Inbuild is a rudimentary build and package manager for the Inform tools.
|
3
inbuild/gitignorescript.txt
Normal file
3
inbuild/gitignorescript.txt
Normal file
|
@ -0,0 +1,3 @@
|
|||
{basics}
|
||||
|
||||
inbuild.mk
|
1
inbuild/versions.txt
Normal file
1
inbuild/versions.txt
Normal file
|
@ -0,0 +1 @@
|
|||
Avignon 1 *9Z99 31 December 9999 The beginnings
|
|
@ -116,6 +116,7 @@ This repository is where development is done on the following executables:
|
|||
* its modules [★ words](docs/words-module/index.html), [★ inflections](docs/inflections-module/index.html), [★ syntax](docs/syntax-module/index.html), [★ problems](docs/problems-module/index.html), [★ linguistics](docs/linguistics-module/index.html), [★ kinds](docs/kinds-module/index.html), [★ core](docs/core-module/index.html), [★ if](docs/if-module/index.html), [★ multimedia](docs/multimedia-module/index.html), [★ index](docs/index-module/index.html)
|
||||
* their unit test executables [★ words-test](docs/words-test/index.html), [★ inflections-test](docs/inflections-test/index.html), [★ syntax-test](docs/syntax-test/index.html), [★ problems-test](docs/problems-test/index.html), [★ linguistics-test](docs/linguistics-test/index.html), [★ kinds-test](docs/kinds-test/index.html)
|
||||
@primaryd(inblorb, 'Web of InC', 'P-ui')
|
||||
@primaryd(inbuild, 'Web of InC', 'P-ui')
|
||||
@primaryd(indoc, 'Web of InC', 'P-iti')
|
||||
@primaryd(inpolicy, 'Web of InC', 'P-ui')
|
||||
@primaryd(inrtps, 'Web of InC', 'P-ui')
|
||||
|
@ -334,6 +335,7 @@ These pages showcase the woven form, and are for human eyes only.</p>
|
|||
<p class="chapter">Other webs in this repository:</p>
|
||||
<ul class="sectionlist">
|
||||
@web('inblorb', 'P-ui')
|
||||
@web('inbuild', 'P-ui')
|
||||
@web('indoc', 'P-iti')
|
||||
@web('inpolicy', 'P-ui')
|
||||
@web('inrtps', 'P-ui')
|
||||
|
|
|
@ -95,6 +95,9 @@ INTERX = inter/Tangled/inter
|
|||
{tool} INRTPS inrtps inrtps
|
||||
{dep} INRTPS on FOUNDATION
|
||||
|
||||
{tool} INBUILD inbuild inbuild
|
||||
{dep} INBUILD on FOUNDATION
|
||||
|
||||
{tool} INTERTOOL inter inter
|
||||
{dep} INTERTOOL on FOUNDATION
|
||||
{dep} INTERTOOL on INTER
|
||||
|
@ -429,6 +432,7 @@ pages:
|
|||
$(INWEBX) inform7/Internal/Inter/BasicInformExtrasKit -weave-docs -weave-into docs/BasicInformExtrasKit
|
||||
$(INWEBX) inform7/Internal/Inter/EnglishLanguageKit -weave-docs -weave-into docs/EnglishLanguageKit
|
||||
$(INWEBX) inblorb -weave-docs -weave-into docs/inblorb
|
||||
$(INWEBX) inbuild -weave-docs -weave-into docs/inbuild
|
||||
$(INWEBX) indoc -weave-docs -weave-into docs/indoc
|
||||
$(INWEBX) inform7 -weave-docs -weave-into docs/inform7
|
||||
$(INWEBX) inform7/core-module -weave-docs -weave-into docs/core-module
|
||||
|
|
Loading…
Reference in a new issue