crun 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,79 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
- <head>
5
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
6
- <title>
7
- File: CHANGELOG
8
-
9
- &mdash; Documentation by YARD 0.8.7.6
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- hasFrames = window.top.frames.main ? true : false;
19
- relpath = '';
20
- framesUrl = "frames.html#!file.CHANGELOG.html";
21
- </script>
22
-
23
-
24
- <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
25
-
26
- <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
27
-
28
-
29
- </head>
30
- <body>
31
- <div id="header">
32
- <div id="menu">
33
-
34
- <a href="_index.html">Index</a> &raquo;
35
- <span class="title">File: CHANGELOG</span>
36
-
37
-
38
- <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
39
- </div>
40
-
41
- <div id="search">
42
-
43
- <a class="full_list_link" id="class_list_link"
44
- href="class_list.html">
45
- Class List
46
- </a>
47
-
48
- <a class="full_list_link" id="method_list_link"
49
- href="method_list.html">
50
- Method List
51
- </a>
52
-
53
- <a class="full_list_link" id="file_list_link"
54
- href="file_list.html">
55
- File List
56
- </a>
57
-
58
- </div>
59
- <div class="clear"></div>
60
- </div>
61
-
62
- <iframe id="search_frame"></iframe>
63
-
64
- <div id="content"><div id='filecontents'>
65
- <h1 id="label-Version+history">Version history</h1>
66
- <dl class="rdoc-list label-list"><dt>0.0.1
67
- <dd>
68
- <p>Initial version.</p>
69
- </dd></dl>
70
- </div></div>
71
-
72
- <div id="footer">
73
- Generated on Sun Dec 25 20:31:45 2016 by
74
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
75
- 0.8.7.6 (ruby-2.3.1).
76
- </div>
77
-
78
- </body>
79
- </html>
@@ -1,260 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
- <head>
5
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
6
- <title>
7
- File: README
8
-
9
- &mdash; Documentation by YARD 0.8.7.6
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- hasFrames = window.top.frames.main ? true : false;
19
- relpath = '';
20
- framesUrl = "frames.html#!file.README.html";
21
- </script>
22
-
23
-
24
- <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
25
-
26
- <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
27
-
28
-
29
- </head>
30
- <body>
31
- <div id="header">
32
- <div id="menu">
33
-
34
- <a href="_index.html">Index</a> &raquo;
35
- <span class="title">File: README</span>
36
-
37
-
38
- <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
39
- </div>
40
-
41
- <div id="search">
42
-
43
- <a class="full_list_link" id="class_list_link"
44
- href="class_list.html">
45
- Class List
46
- </a>
47
-
48
- <a class="full_list_link" id="method_list_link"
49
- href="method_list.html">
50
- Method List
51
- </a>
52
-
53
- <a class="full_list_link" id="file_list_link"
54
- href="file_list.html">
55
- File List
56
- </a>
57
-
58
- </div>
59
- <div class="clear"></div>
60
- </div>
61
-
62
- <iframe id="search_frame"></iframe>
63
-
64
- <div id="content"><div id='filecontents'>
65
- <h1 id="label-Crun">Crun</h1>
66
- <ul><li>
67
- <p>Introduction</p>
68
- </li><li>
69
- <p>Example runs</p>
70
- </li><li>
71
- <p>Options</p>
72
- </li><li>
73
- <p>Issues</p>
74
- </li></ul>
75
-
76
- <h1 id="label-Introduction">Introduction</h1>
77
-
78
- <p>Crun is an utility for compiling and running C-programs straight from C
79
- source files. Crun supports compile-run and compile-debug flows.</p>
80
-
81
- <p>You can embed custom compile options into the main c-file, if you need, for
82
- example, an external library for the program. You can also control the
83
- command line parameters passed to the program through Crun.</p>
84
-
85
- <p>Crun is usually used with one c-file, i.e. the main file. However program
86
- can be split into multiple files, but main has to be first in the list of
87
- files. Crun is targeted for small C-programs, so it is not typical to have
88
- multiple files.</p>
89
-
90
- <p>User of Crun is most probably trying out some basic C-features or maybe
91
- prototyping with some algorithm.</p>
92
-
93
- <h1 id="label-Example+runs">Example runs</h1>
94
-
95
- <p>In order to run “Hello World” example with Crun, you need to have the C
96
- source file with “Hello World” program in it. This is available in the
97
- “examples” directory for you.</p>
98
-
99
- <p>“hello.c” content:</p>
100
-
101
- <pre class="code ruby"><code class="ruby">#include &lt;stdio.h&gt;
102
- int main( int argc, char** argv )
103
- {
104
- printf( &quot;Hello World!\n&quot; );
105
- return 0;
106
- }</code></pre>
107
-
108
- <p>You can execute compile-run flow by:</p>
109
-
110
- <pre class="code ruby"><code class="ruby">shell&gt; crun -f examples/hello.c</code></pre>
111
-
112
- <p>The output from program is:</p>
113
-
114
- <pre class="code ruby"><code class="ruby"><span class='const'>Hello</span> <span class='id identifier rubyid_World!'>World!</span>
115
- </code></pre>
116
-
117
- <p>You can execute compile-debug flow by:</p>
118
-
119
- <pre class="code ruby"><code class="ruby">shell&gt; crun -f examples/hello.c -d</code></pre>
120
-
121
- <p>Program is compiled and gdb is started so that the program stops at “main”
122
- (i.e. default behavior).</p>
123
-
124
- <p>Check available command line interface, CLI, options for Crun:</p>
125
-
126
- <pre class="code ruby"><code class="ruby">shell&gt; crun -h</code></pre>
127
-
128
- <h1 id="label-Options">Options</h1>
129
-
130
- <p>You can specify options for Crun in multiple ways. Typically CLI is used to
131
- control Crun, but if the program uses static compilation options, those
132
- live most naturally in the source file itself.</p>
133
-
134
- <p>Options are stored to a hash called “@crun”. Each option name is a key in
135
- the hash, and the option values are Arrays.</p>
136
-
137
- <p>For example the entry:</p>
138
-
139
- <pre class="code ruby"><code class="ruby"><span class='ivar'>@crun</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>progopts</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
140
- </code></pre>
141
-
142
- <p>specify the command line parameters given to the program compiled and run
143
- by Crun.</p>
144
-
145
- <p>Here is the complete list of options that control Crun:</p>
146
- <dl class="rdoc-list label-list"><dt> compopts
147
- <dd>
148
- <p>Array of user&#39;s compilation options. E.g. “-l lm” to include the math
149
- lib. Default is: [].</p>
150
- </dd><dt> progopts
151
- <dd>
152
- <p>Array of command line parameters for the program run. E.g. [“-c 12”].
153
- Default is: [].</p>
154
- </dd><dt> stopopts
155
- <dd>
156
- <p>Array of breakpoints for the debugger. E.g. [“add”] defines that the
157
- debugger stops at “add” function. Default is: [“main”].</p>
158
- </dd><dt> compprog
159
- <dd>
160
- <p>Array including the compiler name and base options. This options array
161
- should only have one entry, but in theory you could have multiple entries.
162
- The entries are concatenated with SPACE. The compiler command has to have
163
- same command line parameters as “gcc”. Default is: [“gcc”, “-Wall”,
164
- “-std=c11”].</p>
165
- </dd><dt> dbugprog
166
- <dd>
167
- <p>Array including the debugger name and base options. This options array
168
- should only have one entry, but in theory you could have multiple entries.
169
- The entries are concatenated with SPACE. The debugger command has to have
170
- same command line parameters as “gdb”. Default is: [“gdb”, “–nx”].</p>
171
- </dd><dt> crunopts
172
- <dd>
173
- <p>Array of compiler options managed by Crun. User don&#39;t have to control
174
- this option. Default is: [].</p>
175
- </dd></dl>
176
-
177
- <p>Crun sets Options to default values and then applies the user overrides
178
- from various sources, given below.</p>
179
-
180
- <p>User can embed the options to the C source file. This is the recommended
181
- way because this way the settings will follow the code. Additional
182
- compilation options and CLI options for the compiled program would be given
183
- as:</p>
184
-
185
- <pre class="code ruby"><code class="ruby"><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>*
186
- * Options for crun:
187
- * -crun-compopts:=-O2
188
- * crun-compopts:+-lm
189
- * crun-progopts:=-c 12
190
- *</span><span class='regexp_end'>/</span></span></code></pre>
191
-
192
- <p>The syntax is “crun-&lt;option&gt;”. If there is no space before “crun”,
193
- the setting is not used, i.e. first “compopts” is neglected above.</p>
194
-
195
- <p>User can specify static overrides in “$HOME/.crun” file and/or in
196
- “./.crun”. In addition to these predefined files, user can use the “-c”
197
- Crun CLI option to read in option overrides.</p>
198
-
199
- <p>For example if the program is always run with “-c 10” command line options,
200
- you use this in “.crun”:</p>
201
-
202
- <pre class="code ruby"><code class="ruby"><span class='ivar'>@crun</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>progopts</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>-c 10</span><span class='tstring_end'>&quot;</span></span> <span class='rbracket'>]</span>
203
- </code></pre>
204
-
205
- <p>An alternative way to achieve the same thing is to use Crun CLI and use the
206
- -o option:</p>
207
-
208
- <pre class="code ruby"><code class="ruby">shell&gt; crun -o &quot;progopts:=-c 10&quot; ...</code></pre>
209
-
210
- <p>This sets the list of program options to “-c 10”. “:=” syntax means setting
211
- the Array of options. If you need to add to existing list of options, you
212
- should do:</p>
213
-
214
- <pre class="code ruby"><code class="ruby">shell&gt; crun -o &quot;progopts:+-c 10&quot; ...</code></pre>
215
-
216
- <p>Thus “:+” is the syntax for appending more options to existing list.</p>
217
-
218
- <p>The simplest way to pass &#39;progopts&#39; to target program is using the
219
- “-p” CLI option. However user must be aware of the shell option parsing,
220
- since it is very easy to miss the target program and actually pass the
221
- option to Crun.</p>
222
-
223
- <p>If you want to pass &#39;-&#39; based option to target program:</p>
224
-
225
- <pre class="code ruby"><code class="ruby">shell&gt; crun -p &quot;\-c 10&quot; ...</code></pre>
226
-
227
- <p>The backslash before “-c” will ensure that “-c” does not become an option
228
- for Crun.</p>
229
-
230
- <p>Summary of option setting from first to last:</p>
231
- <ul><li>
232
- <p>Defaults (from crun program).</p>
233
- </li><li>
234
- <p>“.crun” from home directory.</p>
235
- </li><li>
236
- <p>“.crun” from current directory.</p>
237
- </li><li>
238
- <p>“-c” options from files.</p>
239
- </li><li>
240
- <p>“-o” options from Crun CLI.</p>
241
- </li><li>
242
- <p>“-p” options for program (only).</p>
243
- </li><li>
244
- <p>Options embedded to C source file (main file).</p>
245
- </li></ul>
246
-
247
- <h1 id="label-Issues">Issues</h1>
248
-
249
- <p>If you take C source input from STDIN, you can&#39;t use the debug option.
250
- Only compile-run flow is possible.</p>
251
- </div></div>
252
-
253
- <div id="footer">
254
- Generated on Sun Dec 25 20:31:45 2016 by
255
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
256
- 0.8.7.6 (ruby-2.3.1).
257
- </div>
258
-
259
- </body>
260
- </html>
@@ -1,63 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html>
4
- <head>
5
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
-
7
- <link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" charset="utf-8" />
8
-
9
- <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
10
-
11
-
12
-
13
- <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
14
-
15
- <script type="text/javascript" charset="utf-8" src="js/full_list.js"></script>
16
-
17
-
18
- <title>File List</title>
19
- <base id="base_target" target="_parent" />
20
- </head>
21
- <body>
22
- <script type="text/javascript" charset="utf-8">
23
- var hasFrames = false;
24
- try {
25
- hasFrames = window.top.frames.main ? true : false;
26
- } catch (e) { }
27
- if (hasFrames) {
28
- document.getElementById('base_target').target = 'main';
29
- document.body.className = 'frames';
30
- }
31
- </script>
32
- <div id="content">
33
- <h1 id="full_list_header">File List</h1>
34
- <div id="nav">
35
-
36
- <span><a target="_self" href="class_list.html">
37
- Classes
38
- </a></span>
39
-
40
- <span><a target="_self" href="method_list.html">
41
- Methods
42
- </a></span>
43
-
44
- <span><a target="_self" href="file_list.html">
45
- Files
46
- </a></span>
47
-
48
- </div>
49
- <div id="search">Search: <input type="text" /></div>
50
-
51
- <ul id="full_list" class="file">
52
-
53
-
54
- <li class="r1"><span class="object_link"><a href="index.html" title="README">README</a></a></li>
55
-
56
-
57
- <li class="r2"><span class="object_link"><a href="file.CHANGELOG.html" title="CHANGELOG">CHANGELOG</a></a></li>
58
-
59
-
60
- </ul>
61
- </div>
62
- </body>
63
- </html>
@@ -1,26 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
3
-
4
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
- <head>
6
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
7
- <title>Documentation by YARD 0.8.7.6</title>
8
- </head>
9
- <script type="text/javascript" charset="utf-8">
10
- window.onload = function() {
11
- var match = unescape(window.location.hash).match(/^#!(.+)/);
12
- var name = match ? match[1] : 'index.html';
13
- name = name.replace(/^(\w+):\/\//, '').replace(/^\/\//, '');
14
- document.writeln('<frameset cols="20%,*">' +
15
- '<frame name="list" src="class_list.html" />' +
16
- '<frame name="main" src="' + escape(name) + '" />' +
17
- '</frameset>');
18
- }
19
- </script>
20
- <noscript>
21
- <frameset cols="20%,*">
22
- <frame name="list" src="class_list.html" />
23
- <frame name="main" src="index.html" />
24
- </frameset>
25
- </noscript>
26
- </html>
@@ -1,260 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
- <head>
5
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
6
- <title>
7
- File: README
8
-
9
- &mdash; Documentation by YARD 0.8.7.6
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- hasFrames = window.top.frames.main ? true : false;
19
- relpath = '';
20
- framesUrl = "frames.html#!file.README.html";
21
- </script>
22
-
23
-
24
- <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
25
-
26
- <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
27
-
28
-
29
- </head>
30
- <body>
31
- <div id="header">
32
- <div id="menu">
33
-
34
- <a href="_index.html">Index</a> &raquo;
35
- <span class="title">File: README</span>
36
-
37
-
38
- <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
39
- </div>
40
-
41
- <div id="search">
42
-
43
- <a class="full_list_link" id="class_list_link"
44
- href="class_list.html">
45
- Class List
46
- </a>
47
-
48
- <a class="full_list_link" id="method_list_link"
49
- href="method_list.html">
50
- Method List
51
- </a>
52
-
53
- <a class="full_list_link" id="file_list_link"
54
- href="file_list.html">
55
- File List
56
- </a>
57
-
58
- </div>
59
- <div class="clear"></div>
60
- </div>
61
-
62
- <iframe id="search_frame"></iframe>
63
-
64
- <div id="content"><div id='filecontents'>
65
- <h1 id="label-Crun">Crun</h1>
66
- <ul><li>
67
- <p>Introduction</p>
68
- </li><li>
69
- <p>Example runs</p>
70
- </li><li>
71
- <p>Options</p>
72
- </li><li>
73
- <p>Issues</p>
74
- </li></ul>
75
-
76
- <h1 id="label-Introduction">Introduction</h1>
77
-
78
- <p>Crun is an utility for compiling and running C-programs straight from C
79
- source files. Crun supports compile-run and compile-debug flows.</p>
80
-
81
- <p>You can embed custom compile options into the main c-file, if you need, for
82
- example, an external library for the program. You can also control the
83
- command line parameters passed to the program through Crun.</p>
84
-
85
- <p>Crun is usually used with one c-file, i.e. the main file. However program
86
- can be split into multiple files, but main has to be first in the list of
87
- files. Crun is targeted for small C-programs, so it is not typical to have
88
- multiple files.</p>
89
-
90
- <p>User of Crun is most probably trying out some basic C-features or maybe
91
- prototyping with some algorithm.</p>
92
-
93
- <h1 id="label-Example+runs">Example runs</h1>
94
-
95
- <p>In order to run “Hello World” example with Crun, you need to have the C
96
- source file with “Hello World” program in it. This is available in the
97
- “examples” directory for you.</p>
98
-
99
- <p>“hello.c” content:</p>
100
-
101
- <pre class="code ruby"><code class="ruby">#include &lt;stdio.h&gt;
102
- int main( int argc, char** argv )
103
- {
104
- printf( &quot;Hello World!\n&quot; );
105
- return 0;
106
- }</code></pre>
107
-
108
- <p>You can execute compile-run flow by:</p>
109
-
110
- <pre class="code ruby"><code class="ruby">shell&gt; crun -f examples/hello.c</code></pre>
111
-
112
- <p>The output from program is:</p>
113
-
114
- <pre class="code ruby"><code class="ruby"><span class='const'>Hello</span> <span class='id identifier rubyid_World!'>World!</span>
115
- </code></pre>
116
-
117
- <p>You can execute compile-debug flow by:</p>
118
-
119
- <pre class="code ruby"><code class="ruby">shell&gt; crun -f examples/hello.c -d</code></pre>
120
-
121
- <p>Program is compiled and gdb is started so that the program stops at “main”
122
- (i.e. default behavior).</p>
123
-
124
- <p>Check available command line interface, CLI, options for Crun:</p>
125
-
126
- <pre class="code ruby"><code class="ruby">shell&gt; crun -h</code></pre>
127
-
128
- <h1 id="label-Options">Options</h1>
129
-
130
- <p>You can specify options for Crun in multiple ways. Typically CLI is used to
131
- control Crun, but if the program uses static compilation options, those
132
- live most naturally in the source file itself.</p>
133
-
134
- <p>Options are stored to a hash called “@crun”. Each option name is a key in
135
- the hash, and the option values are Arrays.</p>
136
-
137
- <p>For example the entry:</p>
138
-
139
- <pre class="code ruby"><code class="ruby"><span class='ivar'>@crun</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>progopts</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
140
- </code></pre>
141
-
142
- <p>specify the command line parameters given to the program compiled and run
143
- by Crun.</p>
144
-
145
- <p>Here is the complete list of options that control Crun:</p>
146
- <dl class="rdoc-list label-list"><dt> compopts
147
- <dd>
148
- <p>Array of user&#39;s compilation options. E.g. “-l lm” to include the math
149
- lib. Default is: [].</p>
150
- </dd><dt> progopts
151
- <dd>
152
- <p>Array of command line parameters for the program run. E.g. [“-c 12”].
153
- Default is: [].</p>
154
- </dd><dt> stopopts
155
- <dd>
156
- <p>Array of breakpoints for the debugger. E.g. [“add”] defines that the
157
- debugger stops at “add” function. Default is: [“main”].</p>
158
- </dd><dt> compprog
159
- <dd>
160
- <p>Array including the compiler name and base options. This options array
161
- should only have one entry, but in theory you could have multiple entries.
162
- The entries are concatenated with SPACE. The compiler command has to have
163
- same command line parameters as “gcc”. Default is: [“gcc”, “-Wall”,
164
- “-std=c11”].</p>
165
- </dd><dt> dbugprog
166
- <dd>
167
- <p>Array including the debugger name and base options. This options array
168
- should only have one entry, but in theory you could have multiple entries.
169
- The entries are concatenated with SPACE. The debugger command has to have
170
- same command line parameters as “gdb”. Default is: [“gdb”, “–nx”].</p>
171
- </dd><dt> crunopts
172
- <dd>
173
- <p>Array of compiler options managed by Crun. User don&#39;t have to control
174
- this option. Default is: [].</p>
175
- </dd></dl>
176
-
177
- <p>Crun sets Options to default values and then applies the user overrides
178
- from various sources, given below.</p>
179
-
180
- <p>User can embed the options to the C source file. This is the recommended
181
- way because this way the settings will follow the code. Additional
182
- compilation options and CLI options for the compiled program would be given
183
- as:</p>
184
-
185
- <pre class="code ruby"><code class="ruby"><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>*
186
- * Options for crun:
187
- * -crun-compopts:=-O2
188
- * crun-compopts:+-lm
189
- * crun-progopts:=-c 12
190
- *</span><span class='regexp_end'>/</span></span></code></pre>
191
-
192
- <p>The syntax is “crun-&lt;option&gt;”. If there is no space before “crun”,
193
- the setting is not used, i.e. first “compopts” is neglected above.</p>
194
-
195
- <p>User can specify static overrides in “$HOME/.crun” file and/or in
196
- “./.crun”. In addition to these predefined files, user can use the “-c”
197
- Crun CLI option to read in option overrides.</p>
198
-
199
- <p>For example if the program is always run with “-c 10” command line options,
200
- you use this in “.crun”:</p>
201
-
202
- <pre class="code ruby"><code class="ruby"><span class='ivar'>@crun</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>progopts</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>-c 10</span><span class='tstring_end'>&quot;</span></span> <span class='rbracket'>]</span>
203
- </code></pre>
204
-
205
- <p>An alternative way to achieve the same thing is to use Crun CLI and use the
206
- -o option:</p>
207
-
208
- <pre class="code ruby"><code class="ruby">shell&gt; crun -o &quot;progopts:=-c 10&quot; ...</code></pre>
209
-
210
- <p>This sets the list of program options to “-c 10”. “:=” syntax means setting
211
- the Array of options. If you need to add to existing list of options, you
212
- should do:</p>
213
-
214
- <pre class="code ruby"><code class="ruby">shell&gt; crun -o &quot;progopts:+-c 10&quot; ...</code></pre>
215
-
216
- <p>Thus “:+” is the syntax for appending more options to existing list.</p>
217
-
218
- <p>The simplest way to pass &#39;progopts&#39; to target program is using the
219
- “-p” CLI option. However user must be aware of the shell option parsing,
220
- since it is very easy to miss the target program and actually pass the
221
- option to Crun.</p>
222
-
223
- <p>If you want to pass &#39;-&#39; based option to target program:</p>
224
-
225
- <pre class="code ruby"><code class="ruby">shell&gt; crun -p &quot;\-c 10&quot; ...</code></pre>
226
-
227
- <p>The backslash before “-c” will ensure that “-c” does not become an option
228
- for Crun.</p>
229
-
230
- <p>Summary of option setting from first to last:</p>
231
- <ul><li>
232
- <p>Defaults (from crun program).</p>
233
- </li><li>
234
- <p>“.crun” from home directory.</p>
235
- </li><li>
236
- <p>“.crun” from current directory.</p>
237
- </li><li>
238
- <p>“-c” options from files.</p>
239
- </li><li>
240
- <p>“-o” options from Crun CLI.</p>
241
- </li><li>
242
- <p>“-p” options for program (only).</p>
243
- </li><li>
244
- <p>Options embedded to C source file (main file).</p>
245
- </li></ul>
246
-
247
- <h1 id="label-Issues">Issues</h1>
248
-
249
- <p>If you take C source input from STDIN, you can&#39;t use the debug option.
250
- Only compile-run flow is possible.</p>
251
- </div></div>
252
-
253
- <div id="footer">
254
- Generated on Sun Dec 25 20:31:45 2016 by
255
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
256
- 0.8.7.6 (ruby-2.3.1).
257
- </div>
258
-
259
- </body>
260
- </html>