mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-31 02:12:11 +00:00
336 lines
25 KiB
HTML
336 lines
25 KiB
HTML
<?xml version="1.0" encoding="utf-8" ?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<!-- This file is generated by Nim. -->
|
|
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>niminst User's manual</title>
|
|
|
|
<!-- Google fonts -->
|
|
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
|
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
|
|
|
<!-- Favicon -->
|
|
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
|
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
|
|
|
<!-- CSS -->
|
|
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
|
|
|
|
<!-- JS -->
|
|
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
|
|
</head>
|
|
<body>
|
|
<div class="document" id="documentId">
|
|
<div class="container">
|
|
<h1 class="title">niminst User's manual</h1>
|
|
<div class="row">
|
|
<div class="three columns">
|
|
<div class="theme-select-wrapper">
|
|
<label for="theme-select">Theme: </label>
|
|
<select id="theme-select" onchange="setTheme(this.value)">
|
|
<option value="auto">🌗 Match OS</option>
|
|
<option value="dark">🌑 Dark</option>
|
|
<option value="light">🌕 Light</option>
|
|
</select>
|
|
</div>
|
|
<div id="global-links">
|
|
<ul class="simple-boot">
|
|
<li><a href="manual.html">Manual</a></li>
|
|
<li><a href="lib.html">Standard library</a></li>
|
|
<li> <a id="indexLink" href="theindex.html">Index</a></li>
|
|
<li><a href="compiler/theindex.html">Compiler docs</a></li>
|
|
<li><a href="https://nim-lang.github.io/fusion/theindex.html">Fusion docs</a></li>
|
|
<li><a href="https://nim-lang.github.io/Nim/">devel</a>, <a href="https://nim-lang.org/documentation.html">stable</a></li>
|
|
</ul>
|
|
</div>
|
|
<div id="searchInputDiv">
|
|
Search: <input type="search" id="searchInput"
|
|
oninput="search()" />
|
|
</div>
|
|
<div class="search-groupby">
|
|
Group by:
|
|
<select onchange="groupBy(this.value)">
|
|
<option value="section">Section</option>
|
|
<option value="type">Type</option>
|
|
</select>
|
|
</div>
|
|
|
|
<ul class="simple simple-toc" id="toc-list">
|
|
<li><a class="reference" id="introduction_toc" href="#introduction">Introduction</a></li>
|
|
<li><a class="reference" id="configuration-file_toc" href="#configuration-file">Configuration file</a></li>
|
|
<ul class="simple"><li><a class="reference" id="configuration-file-project-section_toc" href="#configuration-file-project-section">Project section</a></li>
|
|
<li><a class="reference" id="configuration-file-nimfiles-key_toc" href="#configuration-file-nimfiles-key"><tt class="docutils literal"><span class="pre"><span class="Identifier">files</span></span></tt> key</a></li>
|
|
<li><a class="reference" id="configuration-file-config-section_toc" href="#configuration-file-config-section">Config section</a></li>
|
|
<li><a class="reference" id="configuration-file-documentation-section_toc" href="#configuration-file-documentation-section">Documentation section</a></li>
|
|
<li><a class="reference" id="configuration-file-other-section_toc" href="#configuration-file-other-section">Other section</a></li>
|
|
<li><a class="reference" id="configuration-file-lib-section_toc" href="#configuration-file-lib-section">Lib section</a></li>
|
|
<li><a class="reference" id="configuration-file-windows-section_toc" href="#configuration-file-windows-section">Windows section</a></li>
|
|
<li><a class="reference" id="configuration-file-unixbin-section_toc" href="#configuration-file-unixbin-section">UnixBin section</a></li>
|
|
<li><a class="reference" id="configuration-file-unix-section_toc" href="#configuration-file-unix-section">Unix section</a></li>
|
|
<li><a class="reference" id="configuration-file-innosetup-section_toc" href="#configuration-file-innosetup-section">InnoSetup section</a></li>
|
|
<li><a class="reference" id="configuration-file-c-compiler-section_toc" href="#configuration-file-c-compiler-section">C_Compiler section</a></li>
|
|
</ul><li><a class="reference" id="realminusworld-example_toc" href="#realminusworld-example">Real-world example</a></li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
<div class="nine columns" id="content">
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/doc/niminst.md#L1" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/doc/niminst.md#L1" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
<div id="tocRoot"></div>
|
|
|
|
<p class="module-desc"><table class="docinfo" frame="void" rules="none"><col class="docinfo-name" /><col class="docinfo-content" /><tbody valign="top"><tr><th class="docinfo-name">Author:</th><td>Andreas Rumpf</td></tr>
|
|
<tr><th class="docinfo-name">Version:</th><td>2.3.1</td></tr>
|
|
</tbody></table>
|
|
<h1><a class="toc-backref" id="introduction" href="#introduction">Introduction</a></h1><p>niminst is a tool to generate an installer for a Nim program. Currently it can create an installer for Windows via <a class="reference external" href="https://www.jrsoftware.org/isinfo.php">Inno Setup</a> as well as installation/deinstallation scripts for UNIX. Later versions will support Linux' package management systems.</p>
|
|
<p>niminst works by reading a configuration file that contains all the information that it needs to generate an installer for the different operating systems.</p>
|
|
|
|
<h1><a class="toc-backref" id="configuration-file" href="#configuration-file">Configuration file</a></h1><p>niminst uses the Nim <a class="reference external" href="parsecfg.html">parsecfg</a> module to parse the configuration file. Here's an example of how the syntax looks like:</p>
|
|
<pre># This is a comment.
|
|
; this too.
|
|
|
|
[Common]
|
|
cc=gcc # '=' and ':' are the same
|
|
--foo="bar" # '--cc' and 'cc' are the same, 'bar' and '"bar"' are the same (except for '#')
|
|
macrosym: "#" # Note that '#' is interpreted as a comment without the quotation
|
|
--verbose
|
|
|
|
[Windows]
|
|
isConsoleApplication=False ; another comment
|
|
|
|
[Posix]
|
|
isConsoleApplication=True
|
|
|
|
key1: "in this string backslash escapes are interpreted\n"
|
|
key2: r"in this string not"
|
|
key3: """triple quotes strings
|
|
are also supported. They may span
|
|
multiple lines."""
|
|
|
|
--"long option with spaces": r"c:\myfiles\test.txt"
|
|
</pre>
|
|
<p>The value of a key-value pair can reference user-defined variables via the <tt class="docutils literal"><span class="pre"><span class="Operator">$</span><span class="Identifier">variable</span></span></tt> notation: They can be defined in the command line with the <tt class="docutils literal"><span class="pre option">--var:name=value</span></tt> switch. This is useful to not hard-coding the program's version number into the configuration file, for instance.</p>
|
|
<p>It follows a description of each possible section and how it affects the generated installers.</p>
|
|
|
|
<h2><a class="toc-backref" id="configuration-file-project-section" href="#configuration-file-project-section">Project section</a></h2><p>The project section gathers general information about your project. It must contain the following key-value pairs:</p>
|
|
<table border="1" class="docutils"><tr><th>Key</th><th>description</th></tr>
|
|
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">Name</span></span></tt></td><td>the project's name; this needs to be a single word</td></tr>
|
|
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">DisplayName</span></span></tt></td><td>the project's long name; this can contain spaces. If not specified, this is the same as <tt class="docutils literal"><span class="pre"><span class="Identifier">Name</span></span></tt>.</td></tr>
|
|
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">Version</span></span></tt></td><td>the project's version</td></tr>
|
|
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">OS</span></span></tt></td><td>the OSes to generate C code for; for example: <tt class="docutils literal"><span class="pre"><span class="StringLit">"windows;linux;macosx"</span></span></tt></td></tr>
|
|
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">CPU</span></span></tt></td><td>the CPUs to generate C code for; for example: <tt class="docutils literal"><span class="pre"><span class="StringLit">"i386;amd64;powerpc"</span></span></tt></td></tr>
|
|
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">Authors</span></span></tt></td><td>the project's authors</td></tr>
|
|
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">Description</span></span></tt></td><td>the project's description</td></tr>
|
|
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">App</span></span></tt></td><td>the application's type: "Console" or "GUI". If "Console", niminst generates a special batch file for Windows to open up the command-line shell.</td></tr>
|
|
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">License</span></span></tt></td><td>the filename of the application's license</td></tr>
|
|
</table>
|
|
<h2><a class="toc-backref" id="configuration-file-nimfiles-key" href="#configuration-file-nimfiles-key"><tt class="docutils literal"><span class="pre"><span class="Identifier">files</span></span></tt> key</a></h2><p>Many sections support the <tt class="docutils literal"><span class="pre"><span class="Identifier">files</span></span></tt> key. Listed filenames can be separated by semicolon or the <tt class="docutils literal"><span class="pre"><span class="Identifier">files</span></span></tt> key can be repeated. Wildcards in filenames are supported. If it is a directory name, all files in the directory are used:</p>
|
|
<pre>[Config]
|
|
Files: "configDir"
|
|
Files: "otherconfig/*.conf;otherconfig/*.cfg"</pre>
|
|
|
|
<h2><a class="toc-backref" id="configuration-file-config-section" href="#configuration-file-config-section">Config section</a></h2><p>The <tt class="docutils literal"><span class="pre"><span class="Identifier">config</span></span></tt> section currently only supports the <tt class="docutils literal"><span class="pre"><span class="Identifier">files</span></span></tt> key. Listed files will be installed into the OS's configuration directory.</p>
|
|
|
|
<h2><a class="toc-backref" id="configuration-file-documentation-section" href="#configuration-file-documentation-section">Documentation section</a></h2><p>The <tt class="docutils literal"><span class="pre"><span class="Identifier">documentation</span></span></tt> section supports the <tt class="docutils literal"><span class="pre"><span class="Identifier">files</span></span></tt> key. Listed files will be installed into the OS's native documentation directory (which might be <tt class="docutils literal"><span class="pre">$appdir/doc</span></tt>).</p>
|
|
<p>There is a <tt class="docutils literal"><span class="pre"><span class="Identifier">start</span></span></tt> key which determines whether the Windows installer generates a link to e.g. the <tt class="docutils literal"><span class="pre">index.html</span></tt> of your documentation.</p>
|
|
|
|
<h2><a class="toc-backref" id="configuration-file-other-section" href="#configuration-file-other-section">Other section</a></h2><p>The <tt class="docutils literal"><span class="pre"><span class="Identifier">other</span></span></tt> section currently only supports the <tt class="docutils literal"><span class="pre"><span class="Identifier">files</span></span></tt> key. Listed files will be installed into the application installation directory (<tt class="docutils literal"><span class="pre"><span class="Operator">$</span><span class="Identifier">appdir</span></span></tt>).</p>
|
|
|
|
<h2><a class="toc-backref" id="configuration-file-lib-section" href="#configuration-file-lib-section">Lib section</a></h2><p>The <tt class="docutils literal"><span class="pre"><span class="Identifier">lib</span></span></tt> section currently only supports the <tt class="docutils literal"><span class="pre"><span class="Identifier">files</span></span></tt> key. Listed files will be installed into the OS's native library directory (which might be <tt class="docutils literal"><span class="pre"><span class="Operator">$</span><span class="Identifier">appdir</span><span class="Operator">/</span><span class="Identifier">lib</span></span></tt>).</p>
|
|
|
|
<h2><a class="toc-backref" id="configuration-file-windows-section" href="#configuration-file-windows-section">Windows section</a></h2><p>The <tt class="docutils literal"><span class="pre"><span class="Identifier">windows</span></span></tt> section supports the <tt class="docutils literal"><span class="pre"><span class="Identifier">files</span></span></tt> key for Windows-specific files. Listed files will be installed into the application installation directory (<tt class="docutils literal"><span class="pre"><span class="Operator">$</span><span class="Identifier">appdir</span></span></tt>).</p>
|
|
<p>Other possible options are:</p>
|
|
<table border="1" class="docutils"><tr><th>Key</th><th>description</th></tr>
|
|
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">BinPath</span></span></tt></td><td>paths to add to the Windows <tt class="docutils literal"><span class="pre"><span class="Operator">%</span><span class="Identifier">PATH</span><span class="Operator">%</span></span></tt> environment variable. Example: <tt class="docutils literal"><span class="pre">BinPath: r"bin;dist\mingw\bin"</span></tt></td></tr>
|
|
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">InnoSetup</span></span></tt></td><td>boolean flag whether an Inno Setup installer should be generated for Windows. Example: <tt class="docutils literal"><span class="pre"><span class="Identifier">InnoSetup</span><span class="Punctuation">:</span> <span class="StringLit">"Yes"</span></span></tt></td></tr>
|
|
</table>
|
|
<h2><a class="toc-backref" id="configuration-file-unixbin-section" href="#configuration-file-unixbin-section">UnixBin section</a></h2><p>The <tt class="docutils literal"><span class="pre"><span class="Identifier">UnixBin</span></span></tt> section currently only supports the <tt class="docutils literal"><span class="pre"><span class="Identifier">files</span></span></tt> key. Listed files will be installed into the OS's native bin directory (e.g. <tt class="docutils literal"><span class="pre">/usr/local/bin</span></tt>). The exact location depends on the installation path the user specifies when running the <tt class="docutils literal"><span class="pre"><span class="Identifier">install</span><span class="Operator">.</span><span class="Identifier">sh</span></span></tt> script.</p>
|
|
|
|
<h2><a class="toc-backref" id="configuration-file-unix-section" href="#configuration-file-unix-section">Unix section</a></h2><p>Possible options are:</p>
|
|
<table border="1" class="docutils"><tr><th>Key</th><th>description</th></tr>
|
|
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">InstallScript</span></span></tt></td><td>boolean flag whether an installation shell script should be generated. Example: <tt class="docutils literal"><span class="pre"><span class="Identifier">InstallScript</span><span class="Punctuation">:</span> <span class="StringLit">"Yes"</span></span></tt></td></tr>
|
|
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">UninstallScript</span></span></tt></td><td>boolean flag whether a de-installation shell script should be generated. Example: <tt class="docutils literal"><span class="pre"><span class="Identifier">UninstallScript</span><span class="Punctuation">:</span> <span class="StringLit">"Yes"</span></span></tt></td></tr>
|
|
</table>
|
|
<h2><a class="toc-backref" id="configuration-file-innosetup-section" href="#configuration-file-innosetup-section">InnoSetup section</a></h2><p>Possible options are:</p>
|
|
<table border="1" class="docutils"><tr><th>Key</th><th>description</th></tr>
|
|
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">path</span></span></tt></td><td>Path to Inno Setup. Example: <tt class="docutils literal"><span class="pre">path = r"c:\inno setup 5\iscc.exe"</span></tt></td></tr>
|
|
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">flags</span></span></tt></td><td>Flags to pass to Inno Setup. Example: <tt class="docutils literal"><span class="pre"><span class="Identifier">flags</span> <span class="Operator">=</span> <span class="StringLit">"/Q"</span></span></tt></td></tr>
|
|
</table>
|
|
<h2><a class="toc-backref" id="configuration-file-c-compiler-section" href="#configuration-file-c-compiler-section">C_Compiler section</a></h2><p>Possible options are:</p>
|
|
<table border="1" class="docutils"><tr><th>Key</th><th>description</th></tr>
|
|
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">path</span></span></tt></td><td>Path to the C compiler.</td></tr>
|
|
<tr><td><tt class="docutils literal"><span class="pre"><span class="Identifier">flags</span></span></tt></td><td>Flags to pass to the C Compiler. Example: <tt class="docutils literal"><span class="pre"><span class="Identifier">flags</span> <span class="Operator">=</span> <span class="StringLit">"-w"</span></span></tt></td></tr>
|
|
</table>
|
|
<h1><a class="toc-backref" id="realminusworld-example" href="#realminusworld-example">Real-world example</a></h1><p>The installers for the Nim compiler itself are generated by niminst. Have a look at its configuration file:</p>
|
|
<pre>; This config file holds configuration information about the Nim compiler
|
|
; and project.
|
|
|
|
[Project]
|
|
Name: "Nim"
|
|
Version: "$version"
|
|
Platforms: """
|
|
windows: i386;amd64
|
|
linux: i386;hppa;ia64;alpha;amd64;powerpc64;arm;sparc;sparc64;s390x;m68k;mips;mipsel;mips64;mips64el;powerpc;powerpc64el;arm64;riscv32;riscv64;loongarch64
|
|
macosx: i386;amd64;powerpc64;arm64
|
|
solaris: i386;amd64;sparc;sparc64
|
|
freebsd: i386;amd64;powerpc64;arm;arm64;riscv64;sparc64;mips;mipsel;mips64;mips64el;powerpc;powerpc64el
|
|
netbsd: i386;amd64;arm64
|
|
openbsd: i386;amd64;arm;arm64
|
|
dragonfly: i386;amd64
|
|
crossos: amd64
|
|
haiku: i386;amd64
|
|
android: i386;arm;arm64
|
|
nintendoswitch: arm64
|
|
"""
|
|
|
|
Authors: "Andreas Rumpf"
|
|
Description: """This is the Nim Compiler. Nim is a new statically typed,
|
|
imperative programming language, that supports procedural, functional, object
|
|
oriented and generic programming styles while remaining simple and efficient.
|
|
A special feature that Nim inherited from Lisp is that Nim's abstract
|
|
syntax tree (AST) is part of the specification - this allows a powerful macro
|
|
system which can be used to create domain specific languages.
|
|
|
|
Nim is a compiled, garbage-collected systems programming language
|
|
which has an excellent productivity/performance ratio. Nim's design
|
|
focuses on the 3E: efficiency, expressiveness, elegance (in the order of
|
|
priority)."""
|
|
|
|
App: Console
|
|
License: "copying.txt"
|
|
|
|
[Config]
|
|
Files: "config/*.cfg"
|
|
Files: "config/config.nims"
|
|
|
|
[Documentation]
|
|
; Files: "doc/*.html"
|
|
; Files: "doc/*.cfg"
|
|
; Files: "doc/*.pdf"
|
|
; Files: "doc/*.ini"
|
|
Files: "doc/html/overview.html"
|
|
Start: "doc/html/overview.html"
|
|
|
|
|
|
[Other]
|
|
Files: "copying.txt"
|
|
Files: "koch.nim"
|
|
|
|
Files: "icons/nim.ico"
|
|
Files: "icons/nim.rc"
|
|
Files: "icons/nim.res"
|
|
Files: "icons/nim_icon.o"
|
|
Files: "icons/koch.ico"
|
|
Files: "icons/koch.rc"
|
|
Files: "icons/koch.res"
|
|
Files: "icons/koch_icon.o"
|
|
|
|
Files: "compiler"
|
|
Files: "doc"
|
|
Files: "doc/html"
|
|
Files: "tools"
|
|
Files: "tools/debug/nim-gdb.py"
|
|
Files: "nimpretty"
|
|
Files: "testament"
|
|
Files: "nimsuggest"
|
|
Files: "nimsuggest/tests/*.nim"
|
|
Files: "changelogs/*.md"
|
|
Files: "ci/funs.sh"
|
|
|
|
[Lib]
|
|
Files: "lib"
|
|
|
|
[Other]
|
|
Files: "examples"
|
|
Files: "dist/nimble"
|
|
Files: "dist/checksums"
|
|
Files: "dist/nimony"
|
|
|
|
Files: "tests"
|
|
|
|
[Windows]
|
|
Files: "bin/nim.exe"
|
|
Files: "bin/nimgrep.exe"
|
|
Files: "bin/nimsuggest.exe"
|
|
Files: "bin/nimble.exe"
|
|
Files: "bin/vccexe.exe"
|
|
Files: "bin/nimgrab.exe"
|
|
Files: "bin/nimpretty.exe"
|
|
Files: "bin/testament.exe"
|
|
Files: "bin/nim-gdb.bat"
|
|
Files: "bin/atlas.exe"
|
|
|
|
Files: "koch.exe"
|
|
Files: "finish.exe"
|
|
; Files: "bin/downloader.exe"
|
|
|
|
; Files: "dist/mingw"
|
|
Files: r"tools\start.bat"
|
|
BinPath: r"bin;dist\mingw\bin;dist"
|
|
|
|
; Section | dir | zipFile | size hint (in KB) | url | exe start menu entry
|
|
Download: r"Documentation|doc|docs.zip|13824|https://nim-lang.org/download/docs-${version}.zip|overview.html"
|
|
Download: r"C Compiler (MingW)|dist|mingw.zip|82944|https://nim-lang.org/download/${mingw}.zip"
|
|
Download: r"Support DLLs|bin|nim_dlls.zip|479|https://nim-lang.org/download/dlls.zip"
|
|
Download: r"Aporia Text Editor|dist|aporia.zip|97997|https://nim-lang.org/download/aporia-0.4.0.zip|aporia-0.4.0\bin\aporia.exe"
|
|
; for now only NSIS supports optional downloads
|
|
|
|
[WinBin]
|
|
Files: "bin/makelink.exe"
|
|
Files: "bin/7zG.exe"
|
|
Files: "bin/*.dll"
|
|
Files: "bin/cacert.pem"
|
|
|
|
[UnixBin]
|
|
Files: "bin/nim"
|
|
|
|
|
|
[Unix]
|
|
InstallScript: "yes"
|
|
UninstallScript: "yes"
|
|
Files: "bin/nim-gdb"
|
|
Files: "build_all.sh"
|
|
|
|
|
|
[InnoSetup]
|
|
path = r"c:\Program Files (x86)\Inno Setup 5\iscc.exe"
|
|
flags = "/Q"
|
|
|
|
[NSIS]
|
|
flags = "/V0"
|
|
|
|
[C_Compiler]
|
|
path = r""
|
|
flags = "-w"
|
|
|
|
|
|
[deb]
|
|
buildDepends: "gcc (>= 4:4.3.2)"
|
|
pkgDepends: "gcc (>= 4:4.3.2)"
|
|
shortDesc: "The Nim Compiler"
|
|
licenses: "bin/nim,MIT;lib/*,MIT;"
|
|
|
|
[nimble]
|
|
pkgName: "nim"
|
|
pkgFiles: "compiler/*;doc/basicopt.txt;doc/advopt.txt;doc/nimdoc.css;doc/nimdoc.cls"
|
|
</pre>
|
|
</p>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="twelve-columns footer">
|
|
<span class="nim-sprite"></span>
|
|
<br>
|
|
<small style="color: var(--hint);">Made with Nim. Generated: 2025-09-27 04:01:24 UTC</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
|
|
|
</body>
|
|
</html>
|