17 */ |
17 */ |
18 |
18 |
19 /** |
19 /** |
20 \page install Installation Guide |
20 \page install Installation Guide |
21 |
21 |
22 In this page we detail how to start using LEMON, from downloading it to |
22 In this section we detail how to start using LEMON, from downloading it |
23 your computer, through the steps of installation, to showing a simple |
23 to your computer, through the steps of installation, to showing how to |
24 "Hello World" type program that already uses LEMON. We assume that you |
24 compile programs that use LEMON. We assume that you |
25 have a basic knowledge of your operating system and C++ programming |
25 have a basic knowledge of your operating system and C++ programming |
26 language. The procedure is pretty straightforward, but if you have any |
26 language. The procedure is pretty straightforward, but if you have any |
27 difficulties do not hesitate to |
27 difficulties do not hesitate to |
28 <a href="mailto:lemon-user@lemon.cs.elte.hu"><b>ask</b></a>. |
28 <a href="mailto:lemon-user@lemon.cs.elte.hu"><b>ask</b></a>. |
29 |
29 |
39 If you want to develop with LEMON under Windows, you can use a Windows |
39 If you want to develop with LEMON under Windows, you can use a Windows |
40 installer or you can consider using Cygwin. |
40 installer or you can consider using Cygwin. |
41 |
41 |
42 In this description we will suppose a Linux environment and GNU C++ Compiler. |
42 In this description we will suppose a Linux environment and GNU C++ Compiler. |
43 If you would like to develop under Windows and use a Windows installer, |
43 If you would like to develop under Windows and use a Windows installer, |
44 you could skip the following sections and continue reading \ref hello_lemon. |
44 you could skip the following sections and continue reading |
|
45 \ref basic_concepts. |
45 However keep in mind that you have to make appropriate steps instead of |
46 However keep in mind that you have to make appropriate steps instead of |
46 the instructions detailed here to be able to compile the example code |
47 the instructions detailed here to be able to use LEMON with your compiler. |
47 with your compiler. |
|
48 |
48 |
49 \subsection requirements_lp LP Solver Requirements |
49 \subsection requirements_lp LP Solver Requirements |
50 |
50 |
51 The LEMON LP solver interface can use the GLPK (GNU Linear Programming |
51 The LEMON LP solver interface can use the GLPK (GNU Linear Programming |
52 Kit), CPLEX and SoPlex solver. If you want to use it, you will need at |
52 Kit), CPLEX and SoPlex solver. If you want to use it, you will need at |
142 non-default location. |
139 non-default location. |
143 |
140 |
144 Several other configure flags can be passed to <tt>./configure</tt>. |
141 Several other configure flags can be passed to <tt>./configure</tt>. |
145 For more information see the <b><tt>INSTALL</tt></b> file. |
142 For more information see the <b><tt>INSTALL</tt></b> file. |
146 |
143 |
147 \subsection install_hg Install the latest development version |
144 \subsection install_hg Install the Latest Development Version |
148 |
145 |
149 You can also use the latest (developer) version of LEMON from our Mercurial |
146 You can also use the latest (developer) version of LEMON from our Mercurial |
150 repository. You need a couple additional tool for that |
147 repository. You need a couple additional tool for that. |
151 |
148 |
152 - <a href="http://www.selenic.com/mercurial">Mercurial</a> |
149 - <a href="http://www.selenic.com/mercurial">Mercurial</a> |
153 - for obtaining the latest code (and for contributing into it) |
150 - for obtaining the latest code (and for contributing into it) |
154 - <a href="http://www.gnu.org/software/automake/">automake</a> (1.7 or newer) |
151 - <a href="http://www.gnu.org/software/automake/">automake</a> (1.7 or newer) |
155 - <a href="http://www.gnu.org/software/autoconf/">autoconf</a> (2.59 or newer) |
152 - <a href="http://www.gnu.org/software/autoconf/">autoconf</a> (2.59 or newer) |
158 - for initializing the build framework |
155 - for initializing the build framework |
159 - <a href="http://doxygen.org">Doxygen</a> |
156 - <a href="http://doxygen.org">Doxygen</a> |
160 - for generating the documentations (optional, but recommended) |
157 - for generating the documentations (optional, but recommended) |
161 |
158 |
162 Once you have all these tools installed, the process is fairly easy. |
159 Once you have all these tools installed, the process is fairly easy. |
163 First, you have to get the copy of the lates version. |
160 First, you have to get the copy of the latest version. |
164 |
161 |
165 \verbatim |
162 \verbatim |
166 hg clone http://lemon.cs.elte.hu/hg/lemon-main lemon-src |
163 hg clone http://lemon.cs.elte.hu/hg/lemon-main lemon-src |
167 \endverbatim |
164 \endverbatim |
168 |
165 |
179 make |
176 make |
180 make check # This is optional, but recommended. It runs a bunch of tests. |
177 make check # This is optional, but recommended. It runs a bunch of tests. |
181 make install |
178 make install |
182 \endverbatim |
179 \endverbatim |
183 |
180 |
184 To generate the documentation, just run |
181 To generate the documentation, just run |
185 \verbatim |
182 \verbatim |
186 make html |
183 make html |
187 \endverbatim |
184 \endverbatim |
|
185 \todo Is <tt><b>make html</b></tt> really necessary after |
|
186 <tt><b>make install</b></tt>? |
|
187 |
|
188 |
|
189 \section install_rpm Install from rpm |
|
190 |
|
191 \todo Write this section (\ref install_rpm). |
|
192 |
|
193 |
|
194 \section install_user Install Locally to the User |
|
195 |
|
196 \todo Write this section (\ref install_user). |
|
197 |
|
198 |
|
199 \section compile_codes Compile Codes that Use LEMON |
|
200 |
|
201 Now let us see how to use the library after installing it. |
|
202 |
|
203 \subsection compile_system_wide If LEMON is Installed System-Wide |
|
204 |
|
205 If your installation of LEMON into directory \c /usr/local was |
|
206 successful, then you have to issue a command like this to compile a |
|
207 source file that uses LEMON. |
|
208 |
|
209 \verbatim |
|
210 g++ -lemon [other options] <source file> |
|
211 \endverbatim |
|
212 |
|
213 The argument <tt>-lemon</tt> tells the compiler that we are using the |
|
214 installed library LEMON. |
|
215 |
|
216 \subsection compile_user_local If LEMON is Installed User-Local |
|
217 |
|
218 You have to give more options to the compiler if LEMON is installed |
|
219 user-local into a directory (denoted by <tt><dir></tt>) |
|
220 or if you just skipped the step <tt>make install</tt>. |
|
221 In the later case <tt><dir></tt> denotes the directory in which the |
|
222 the \c make command have been performed. |
|
223 |
|
224 \verbatim |
|
225 g++ -lemon -I <dir> -L <dir>/lemon/.libs [other options] <source file> |
|
226 \endverbatim |
|
227 |
|
228 \subsubsection compile_use_pkg_config Use pkg-config |
|
229 |
|
230 \todo Write this sub-subsection (\ref compile_use_pkg_config). |
188 |
231 |
189 */ |
232 */ |