-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDownload.html
85 lines (85 loc) · 5.34 KB
/
Download.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Firm - Download</title>
<link rel="stylesheet" type="text/css" href="style.css"/>
<link rel="stylesheet" type="text/css" href="pygments.css"/>
<link rel="icon" type="image/png" href="logo-simple.png"/>
</head>
<body>
<div class="layout-header">
<a href="index.html"><img src="logo.png" alt="Firm Logo" /></a>
</div>
<div class="layout-content-wrapper">
<div class="layout-content">
<div class="layout-sidebar">
<ul>
<li><a href="index.html">About</a></li>
<li><a href="Features.html">Features</a></li>
<li><a href="Download.html">Download</a></li>
<li><a href="Documentation.html">Documentation</a></li>
<li><a href="Projects.html">Projects</a></li>
<li><a href="Development.html">Development</a></li>
<li><a href="Contact.html">Contact</a></li>
</ul>
<ul class="external">
<li><a href="http://pp.info.uni-karlsruhe.de/projects/firm_publications.php">Publications</a></li>
</ul>
</div>
<div class="layout-document">
<h1>Download</h1>
<div id="preamble">
<div class="sectionbody">
<div class="paragraph"><p>You want to try out lib<span class="algo"><span class="algo">Firm</span></span>?
lib<span class="algo"><span class="algo">Firm</span></span> itself is just a library, so you probably want our C frontend <code>cparser</code> as well.</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_git">Git</h2>
<div class="sectionbody">
<div class="paragraph"><p>Check it out with git:</p></div>
<div class="listingblock">
<div class="content"><div class="highlight"><pre><span></span>$<span class="w"> </span>git<span class="w"> </span>clone<span class="w"> </span>--recursive<span class="w"> </span>http://pp.ipd.kit.edu/git/cparser.git
</pre></div></div></div>
<div class="paragraph"><p>This will download cparser and recursively the <span class="algo">Firm</span> library.</p></div>
<div class="paragraph"><p>Now build everything. You need a C compiler, GNU Make, Perl, and Python.</p></div>
<div class="listingblock">
<div class="content"><div class="highlight"><pre><span></span>$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>cparser
$<span class="w"> </span>make
</pre></div></div></div>
<div class="paragraph"><p>Now you should have a working binary.</p></div>
<div class="listingblock">
<div class="content"><div class="highlight"><pre><span></span>$<span class="w"> </span>build/debug/cparser<span class="w"> </span>--version
</pre></div></div></div>
</div>
</div>
<div class="sect1">
<h2 id="_usage">Usage</h2>
<div class="sectionbody">
<div class="paragraph"><p>Our compiler tries to be a drop in replacement for GCC, so it supports the same arguments.
Make it accesible through your PATH environment variable (we tend to create a symlink of <em>build/debug/cparser</em> into <em>$HOME/.local/bin</em> here which is in our PATH).</p></div>
<div class="paragraph"><p>Try it on some C99 code:</p></div>
<div class="listingblock">
<div class="title">Compile a single file test.c</div>
<div class="content"><div class="highlight"><pre><span></span>$<span class="w"> </span>cparser<span class="w"> </span>-Wall<span class="w"> </span>-O3<span class="w"> </span>test.c
</pre></div></div></div>
<div class="listingblock">
<div class="title">Using cparser in a Makefile based project</div>
<div class="content"><div class="highlight"><pre><span></span><span class="nv">CC</span><span class="o">=</span>cparser<span class="w"> </span>make
</pre></div></div></div>
<div class="paragraph"><p>Note that on 64-bit systems, you have to additionally pass <code>-m32</code> because <code>cparser</code> generates 32-bit code by default.</p></div>
<div class="paragraph"><p>If you find bugs, please report them in our <a class="external text" href="http://pp.ipd.kit.edu/~firm/bugs/">issue tracker</a>.</p></div>
</div>
</div>
</div>
<div class="clear"></div>
</div>
</div>
<div class="layout-footer">
<span><a href="https://lists.ira.uni-karlsruhe.de/mailman/listinfo/firm">Mailing list</a>: <a href="mailto:[email protected]">[email protected]</a></span>
</div>
</body>
</html>