Minor refactoring of preprocessor functionality.
[splint-patched.git] / install.html
blobe4ff5fee36e698692317bab8e4b892ed168bfd8d
1 <html>
2 <head>
3 <link rel="stylesheet" type="text/css" href="http://www.splint.org/splint.css" title="style1">
4 <title>Splint - Source Code Installation</title>
5 </head>
6 <body>
7 <!--#include virtual="header.html"-->
9 <body>
10 <center><h2>
11 Source Code Installation
12 </h2></center>
13 <p>
15 <p>
16 Splint should compile effortlessly on standard Unix systems, and with
17 a bit of effort on non-Unix platforms. If you produce a port for a
18 non-Unix platform, please let <a
19 href="mailto:splint@cs.virginia.edu"><em>splint@cs.virginia.edu</em></a>
20 know. <p>
22 <p>
23 To build Splint you need:
24 <ul>
25 <li> a (hopefully ANSI-conforming) C compiler. GNU <tt>gcc</tt> is recommended,
26 but most modern C compilers should work.
27 <li> <tt>make</tt>, the GNU make utility. If you don't have <tt>make</tt> installed on your system, download it from <tt>ftp.gnu.org</tt>.
28 <li> standard Unix tools: <tt>gzip</tt>, <tt>tar</tt>
29 </ul>
31 <p>
32 Instructions:
33 <ol>
35 <li>
36 Download
37 <a href="http://www.splint.org/downloads/splint-3.1.1.src.tgz"><em>http://www.splint.org/downloads/splint-3.1.1.tgz</em></a>.
39 </a> (the latest stable release).
40 <p>
41 Copy this package to the directory where you want to build Spint. When
42 the tar file is extracted, it will create a splint-3.1.1 subdirectory.
43 <p>
44 <li><tt>tar xzf splint-3.1.1.src.tgz</tt> (extract files from the archive)
45 <p>
46 <li><tt>cd splint-3.1.1</tt> (enter the extracted directory)
47 <p>
48 <li><tt>configure</tt>
49 <blockquote>
50 This will create a Makefile with settings for your system. Use
51 <tt>configure --prefix=<em>directory</em></tt> if you want to install
52 Splint in prefix directory <em>directory</em>.
53 </blockquote>
54 <p>
55 <li><tt>make</tt>
56 <blockquote>
57 GNU's make utility is required; it may be named
58 <tt>gmake</tt> or <tt>gnumake</tt> on your system.
59 It is best to do this in an emacs shell or a buffered terminal,
60 so you can scroll through the output.
61 <p>
62 This builds Splint. While it is building, subscribe to the
63 splint-announce mailing list by visiting
64 http://www.splint.org/lists.html
65 <p>
66 If the build was successful, it then runs the test
67 suite. You should see:
68 <blockquote>
69 <pre>
70 Testing splint 3.1.1...
72 Version Info:
73 Splint 3.1.1 --- 11 Feb 2002
74 Maintainer: splint-bug@splint.org
76 <em>... (about 100 lines of test output elided)</em>
78 Checking manual...
79 Checking tests2.2...
80 Checking tests2.4...
81 Checking tests2.5...
82 Checking db1...
83 Checking db2...
84 Checking db3...
85 </pre>
86 </blockquote>
88 Examine the test output. If there are errors, send a bug report to <a
89 href="mailto:splint-bug@cs.virginia.edu"><em>splint-bug@cs.virginia.edu</em></a>.
90 </blockquote>
91 <blockquote>
92 Note: If possible do not built splint in a directory under /usr/. If the test suite is run in a directory under /usr/ for example /usr/src/, it will report errors even if Splint was built correctly.
93 </blockquote>
94 <p>
95 </ol>
97 The remaining steps are only necessary if you want to install the Splint
98 binary and libraries in a different directory (set when you ran
99 configure).
101 <blockquote>
102 <ol start = 6>
104 <li> <tt>make install</tt>
106 <li>Set environment variables:
107 <blockquote>
108 <tt>LARCH_PATH</tt> - path to search for splint libraries and
109 initializations files. If you are using the standard directories, this
110 should be <tt>.:<em>base-directory</em>/splint-3.1.1/lib</tt>.
112 <tt>LCLIMPORTDIR</tt> - directory containing lcl imports files. If you are using
113 the standard directories, this is <tt><em>base-directory</em>/splint-3.1.1/imports</tt>.
114 </blockquote>
115 Put the commands to set these variables (the actual commands will depend
116 on the shell you are using) in one of your initialization dotfiles
117 (usually <tt>~/.environment</tt>).
119 Set up your <tt>PATH</tt> to include the directory containing
120 <tt>splint-3.1.1/bin/splint</tt>, or move the binary to a directory on
121 your command path.
123 </blockquote>
126 <!--#include virtual="footer.html"-->