3 <title>Installing sketch - Sketch
</title>
4 <meta http-equiv=
"Content-Type" content=
"text/html">
5 <meta name=
"description" content=
"Sketch">
6 <meta name=
"generator" content=
"makeinfo 4.7">
7 <link title=
"Top" rel=
"start" href=
"index.html#Top">
8 <link rel=
"prev" href=
"Command-line.html#Command-line" title=
"Command line">
9 <link rel=
"next" href=
"Index-of-syntax.html#Index-of-syntax" title=
"Index of syntax">
10 <link href=
"http://www.gnu.org/software/texinfo/" rel=
"generator-home" title=
"Texinfo Homepage">
12 Copyright (C) 2005, 2006, 2007, 2008 Eugene K. Ressler.
14 This manual is for `sketch', version 0.2 (build 161),
15 Tuesday, September 08, 2009, a program that converts descriptions of simple
16 three-dimensional scenes into static drawings. This version generates
17 `PSTricks' or `PGF/TikZ' code suitable for use with the
18 TeX document processing system.
20 `Sketch' is free software; you can redistribute it and/or modify
21 it under the terms of the GNU General Public License as published by
22 the Free Software Foundation; either version 3, or (at your option)
25 Sketch is distributed in the hope that it will be useful,
26 but WITHOUT ANY WARRANTY; without even the implied warranty of
27 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28 GNU General Public License for more details.
30 You should have received a copy of the GNU General Public License
31 along with `sketch'; see the file COPYING.txt. If not, see
32 http://www.gnu.org/copyleft.-->
33 <meta http-equiv=
"Content-Style-Type" content=
"text/css">
34 <style type=
"text/css"><!--
35 pre
.display
{ font-family:inherit
}
36 pre
.format
{ font-family:inherit
}
37 pre
.smalldisplay
{ font-family:inherit
; font-size:smaller
}
38 pre
.smallformat
{ font-family:inherit
; font-size:smaller
}
39 pre
.smallexample
{ font-size:smaller
}
40 pre
.smalllisp
{ font-size:smaller
}
41 span
.sc
{ font-variant:small-caps
}
42 span
.roman
{ font-family: serif
; font-weight: normal
; }
48 <a name=
"Installing-sketch"></a>Next:
<a rel=
"next" accesskey=
"n" href=
"Index-of-syntax.html#Index-of-syntax">Index of syntax
</a>,
49 Previous:
<a rel=
"previous" accesskey=
"p" href=
"Command-line.html#Command-line">Command line
</a>,
50 Up:
<a rel=
"up" accesskey=
"u" href=
"index.html#Top">Top
</a>
54 <!-- node-name, next, previous, up -->
55 <h2 class=
"chapter">6 Building and installing
<code>sketch
</code></h2>
57 <p><code>Sketch
</code> is so small that compiling by brute force is probably
58 best. The following command ought to do the trick on any
59 systems where
<code>gcc
</code> is installed. Make sure to first change
60 current directories to the place where you have unpacked the sources.
61 <pre class=
"example"> gcc *.c -o sketch.exe -lm
63 <p class=
"noindent">The
<span class=
"samp">.exe
</span> at the end is necessary for Windows systems. Drop it
64 if your system is some version of Unix. Other C compilers ought
65 to work as just as well. For example,
66 <pre class=
"example"> cl *.c -o sketch.exe
68 <p class=
"noindent">is the correct command for many versions of MS Visual C. In the
69 latest versions, Microsoft has deprecated the
<code>-o
</code> option and, by
70 default, does not define the
<code>__STDC__
</code> macro. This causes
71 problems with some versions of
<code>flex
</code>,
<code>bison
</code>,
<code>lex
</code>,
72 and
<code>yacc
</code>, which are used to create the
<code>sketch
</code> scanner
73 and parser. It's nearly always possible to find a set of options that
74 compiles with no errors or warnings, and this means
<code>sketch
</code> is
75 <em>very
</em> likely to work correctly. For example, the Visual C++
76 2005 Express Edition compiler (available free of charge from the
77 Microsoft web site),
<code>flex
</code> version
2.5.4, and
<code>bison
</code>
78 version
2.1 build error-free with
79 <pre class=
"example"> cl -DYY_NEVER_INTERACTIVE=
1 -Za -Ox -Fesketch.exe *.c
81 <p>For purists, there is also a
<code>makefile
</code> compatible with GNU
82 <code>make
</code> and
<code>gcc
</code>. The command
83 <pre class=
"example"> make
85 <p class=
"noindent">will build the executable, including the rebuilding of the scanner and
86 parser with
<code>flex
</code> and
<code>bison
</code> if you have changed
87 <span class=
"file">sketch.l
</span> or
<code>sketch.y
</code> respectively.
89 <p>To build this document in all its myriad forms (assuming you have the
90 necessary conversion programs on your system), use
91 <pre class=
"example"> make docs
93 <p class=
"noindent">The possibilities are listed in this following table.
94 <p><table summary=
""><tr align=
"left"><th valign=
"top">Format
</th><th valign=
"top">Converter
</th><th valign=
"top">Pictures
</th><th valign=
"top">Description
95 <br></th></tr><tr align=
"left"><td valign=
"top">manual.info
96 </td><td valign=
"top">makeinfo
</td><td valign=
"top"><span class=
"file">.txt
</span> </td><td valign=
"top"><acronym>GNU
</acronym> Info.
97 <br></td></tr><tr align=
"left"><td valign=
"top">manual.dvi
98 </td><td valign=
"top">texi2dvi
</td><td valign=
"top"><span class=
"file">.eps
</span> </td><td valign=
"top">TeX typeset output.
99 <br></td></tr><tr align=
"left"><td valign=
"top">manual.ps
100 </td><td valign=
"top">texi2dvi,dvips
</td><td valign=
"top"><span class=
"file">.eps
</span> </td><td valign=
"top">Postscript.
101 <br></td></tr><tr align=
"left"><td valign=
"top">manual.pdf
102 </td><td valign=
"top">texi2dvi
</td><td valign=
"top"><span class=
"file">.pdf
</span> </td><td valign=
"top">Adobe PDF.
103 <br></td></tr><tr align=
"left"><td valign=
"top">manual.html
104 </td><td valign=
"top">makeinfo
</td><td valign=
"top"><span class=
"file">.png
</span> </td><td valign=
"top">A single web page.
105 <br></td></tr><tr align=
"left"><td valign=
"top">manual/index.html
106 </td><td valign=
"top">makeinfo
</td><td valign=
"top"><span class=
"file">.png
</span> </td><td valign=
"top">Linked web pages, one per node.
107 <br></td></tr></table>
108 An additional open source program
<code>epstool
</code> is needed to refine the
109 Encapsulated Postscript bounding boxes of
<code>sketch
</code>-generated