1.1 --- a/getting_started.dox Thu Nov 06 16:55:09 2008 +0100
1.2 +++ b/getting_started.dox Mon Feb 02 11:06:19 2009 +0100
1.3 @@ -21,7 +21,8 @@
1.4 [PAGE]hello_lemon[PAGE] Compile Your First Code
1.5
1.6 First of all you have to install LEMON on your system (see
1.7 -\ref install for instructions).
1.8 +<a href="http://lemon.cs.elte.hu/trac/lemon/wiki/InstallGuide"><b>our
1.9 +web page</b></a> for instructions).
1.10 After that you can paste the following code segment into a file
1.11 <tt>hello_lemon.cc</tt> to have a first working program that uses LEMON.
1.12
1.13 @@ -41,7 +42,7 @@
1.14 that we are using the installed LEMON).
1.15
1.16 \verbatim
1.17 -g++ -lemon hello_lemon.cc -o hello_lemon
1.18 +g++ -lemon -o hello_lemon hello_lemon.cc
1.19 \endverbatim
1.20
1.21 As a result you will get the exacutable \c hello_lemon in the current
1.22 @@ -56,7 +57,7 @@
1.23 You have to issue a command like this.
1.24
1.25 \verbatim
1.26 -g++ -lemon -I ~/lemon/include -L ~/lemon/lib hello_lemon.cc -o hello_lemon
1.27 +g++ -lemon -I ~/lemon/include -L ~/lemon/lib -o hello_lemon hello_lemon.cc
1.28 \endverbatim
1.29
1.30 If everything has gone well, then our program prints out the followings.
2.1 --- a/install.dox Thu Nov 06 16:55:09 2008 +0100
2.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
2.3 @@ -1,229 +0,0 @@
2.4 -/* -*- mode: C++; indent-tabs-mode: nil; -*-
2.5 - *
2.6 - * This file is a part of LEMON, a generic C++ optimization library.
2.7 - *
2.8 - * Copyright (C) 2003-2008
2.9 - * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
2.10 - * (Egervary Research Group on Combinatorial Optimization, EGRES).
2.11 - *
2.12 - * Permission to use, modify and distribute this software is granted
2.13 - * provided that this copyright notice appears in all copies. For
2.14 - * precise terms see the accompanying LICENSE file.
2.15 - *
2.16 - * This software is provided "AS IS" with no warranty of any kind,
2.17 - * express or implied, and with no claim as to its suitability for any
2.18 - * purpose.
2.19 - *
2.20 - */
2.21 -
2.22 -/**
2.23 -[PAGE]install[PAGE] Installation Guide
2.24 -
2.25 -In this section we detail how to start using LEMON, from downloading it
2.26 -to your computer, through the steps of installation, to showing how to
2.27 -compile programs that use LEMON. We assume that you
2.28 -have a basic knowledge of your operating system and C++ programming
2.29 -language. The procedure is pretty straightforward, but if you have any
2.30 -difficulties do not hesitate to
2.31 -<a href="mailto:lemon-user@lemon.cs.elte.hu"><b>ask</b></a>.
2.32 -
2.33 -[SEC]requirements_lemon[SEC] Hardware and Software Requirements
2.34 -
2.35 -In LEMON we use C++ templates heavily, thus compilation takes a
2.36 -considerable amount of time and memory. So some decent box would be
2.37 -advantageousm, but otherwise there are no special hardware requirements.
2.38 -
2.39 -You will need a recent C++ compiler. Our primary target is the GNU C++
2.40 -Compiler (g++), from version 3.3 upwards. We also checked the Intel C++
2.41 -Compiler (icc) and Microsoft Visual C++ (on Windows).
2.42 -If you want to develop with LEMON under Windows, you can use a Windows
2.43 -installer or you can consider using Cygwin.
2.44 -
2.45 -In this description we will suppose a Linux environment and GNU C++ Compiler.
2.46 -If you would like to develop under Windows and use a Windows installer,
2.47 -you could skip the following sections and continue reading
2.48 -\ref basic_concepts.
2.49 -However keep in mind that you have to make appropriate steps instead of
2.50 -the instructions detailed here to be able to use LEMON with your compiler.
2.51 -
2.52 -[SEC]requirements_lp[SEC] LP Solver Requirements
2.53 -
2.54 -The LEMON LP solver interface can use the GLPK (GNU Linear Programming
2.55 -Kit), CPLEX and SoPlex solver. If you want to use it, you will need at
2.56 -least one of these.
2.57 -See the <b><tt>INSTALL</tt></b> file how to enable these at compile time.
2.58 -
2.59 -[SEC]install_from_source[SEC] Install from Source
2.60 -
2.61 -You can download LEMON from the web site:
2.62 -<a href="http://lemon.cs.elte.hu/">http://lemon.cs.elte.hu/</a>.
2.63 -There you will find released versions in form of <tt>.tar.gz</tt> files
2.64 -(and Windows installers).
2.65 -If you want a developer version (for example you want to contribute in
2.66 -developing LEMON) then you might want to use our Mercurial repository.
2.67 -This case is detailed \ref install_hg "later", so from now on we
2.68 -suppose that you downloaded a <tt>.tar.gz</tt> file.
2.69 -
2.70 -Thus you have to do the following steps.
2.71 -
2.72 -Download the tarball either from the browser or just issuing
2.73 -
2.74 -\verbatim
2.75 -wget http://lemon.cs.elte.hu/pub/sources/lemon-1.0.tar.gz
2.76 -\endverbatim
2.77 -
2.78 -\note The tarball is named <tt>lemon-x.y.z.tar.gz</tt> where \c x, \c
2.79 -y and \c z (which is missing if it is 0) are numbers indicating the
2.80 -version of the library, in our example we will have
2.81 -<tt>lemon-1.0.tar.gz</tt>.
2.82 -
2.83 -Then issue the following commands:
2.84 -
2.85 -\verbatim
2.86 -tar xvzf lemon-1.0.tar.gz
2.87 -cd lemon-1.0
2.88 -./configure
2.89 -make
2.90 -make check # This is optional, but recommended. It runs a bunch of tests.
2.91 -make install
2.92 -\endverbatim
2.93 -
2.94 -These commands install LEMON under \c /usr/local (you will
2.95 -need root privileges to be able to install to that
2.96 -directory). If you want to install it to some other place, then
2.97 -pass the \c --prefix=DIRECTORY flag to <tt>./configure</tt>, for example:
2.98 -
2.99 -\verbatim
2.100 -./configure --prefix=/home/username/lemon
2.101 -\endverbatim
2.102 -
2.103 -We briefly explain these commands below.
2.104 -
2.105 -\verbatim
2.106 -tar xvzf lemon-1.0.tar.gz
2.107 -\endverbatim
2.108 -This command untars the <tt>tar.gz</tt> file into a directory named
2.109 -<tt>lemon-1.0</tt>.
2.110 -
2.111 -\verbatim
2.112 -cd lemon-1.0
2.113 -\endverbatim
2.114 -This command enters the directory.
2.115 -
2.116 -\verbatim
2.117 -./configure
2.118 -\endverbatim
2.119 -This command runs the configure shell script, which does some checks and
2.120 -creates the makefiles.
2.121 -
2.122 -\verbatim
2.123 -make
2.124 -\endverbatim
2.125 -This command compiles the non-template part of LEMON into <tt>libemon.a</tt>
2.126 -file. It also compiles the programs in the tools and demo subdirectories
2.127 -when enabled.
2.128 -
2.129 -\verbatim
2.130 -make check
2.131 -\endverbatim
2.132 -This step is optional, but recommended. It performes a bunch of library
2.133 -self-tests.
2.134 -
2.135 -\verbatim
2.136 -make install
2.137 -\endverbatim
2.138 -This command will copy the directory structure to its final destination
2.139 -(e.g. to \c /usr/local) so that your system can access it.
2.140 -This command should be issued as "root", unless you provided a
2.141 -\c --prefix switch to the \c configure to install the library in
2.142 -non-default location.
2.143 -
2.144 -Several other configure flags can be passed to <tt>./configure</tt>.
2.145 -For more information see the <b><tt>INSTALL</tt></b> file.
2.146 -
2.147 -[SEC]install_hg[SEC] Install the Latest Development Version
2.148 -
2.149 -You can also use the latest (developer) version of LEMON from our Mercurial
2.150 -repository. You need a couple additional tool for that.
2.151 -
2.152 -- <a href="http://www.selenic.com/mercurial">Mercurial</a>
2.153 - - for obtaining the latest code (and for contributing into it)
2.154 -- <a href="http://www.gnu.org/software/automake/">automake</a> (1.7 or newer)
2.155 -- <a href="http://www.gnu.org/software/autoconf/">autoconf</a> (2.59 or newer)
2.156 -- <a href="http://www.gnu.org/software/libtool/">libtool</a>
2.157 -- <a href="http://pkgconfig.freedesktop.org/">pkgconfig</a>
2.158 - - for initializing the build framework
2.159 -- <a href="http://doxygen.org">Doxygen</a>
2.160 - - for generating the documentations (optional, but recommended)
2.161 -
2.162 -Once you have all these tools installed, the process is fairly easy.
2.163 -First, you have to get the copy of the latest version.
2.164 -
2.165 -\verbatim
2.166 -hg clone http://lemon.cs.elte.hu/hg/lemon-main lemon-src
2.167 -\endverbatim
2.168 -
2.169 -The next step is to initialize the build system.
2.170 -
2.171 -\verbatim
2.172 -autoreconf -vif
2.173 -\endverbatim
2.174 -
2.175 -Then the process is the same as in case of using the release tarball.
2.176 -
2.177 -\verbatim
2.178 -./configure
2.179 -make
2.180 -make check # This is optional, but recommended. It runs a bunch of tests.
2.181 -make install
2.182 -\endverbatim
2.183 -
2.184 -To generate the documentation, just run
2.185 -\verbatim
2.186 -make html
2.187 -\endverbatim
2.188 -\todo Is <tt><b>make html</b></tt> really necessary after
2.189 -<tt><b>make install</b></tt>?
2.190 -
2.191 -
2.192 -[SEC]install_rpm[SEC] Install from rpm
2.193 -
2.194 -\todo Write this section (\ref install_rpm).
2.195 -
2.196 -[SEC]install_user[SEC] Install Locally to the User
2.197 -
2.198 -\todo Write this section (\ref install_user).
2.199 -
2.200 -
2.201 -[SEC]compile_codes[SEC] Compile Codes that Use LEMON
2.202 -
2.203 -Now let us see how to use the library after installing it.
2.204 -
2.205 -[SEC]compile_system_wide[SEC] If LEMON is Installed System-Wide
2.206 -
2.207 -If your installation of LEMON into directory \c /usr/local was
2.208 -successful, then you have to issue a command like this to compile a
2.209 -source file that uses LEMON.
2.210 -
2.211 -\verbatim
2.212 -g++ -lemon [other options] <source file>
2.213 -\endverbatim
2.214 -
2.215 -The argument <tt>-lemon</tt> tells the compiler that we are using the
2.216 -installed library LEMON.
2.217 -
2.218 -[SEC]compile_user_local[SEC] If LEMON is Installed User-Local
2.219 -
2.220 -You have to give more options to the compiler if LEMON is installed
2.221 -user-local into a directory (denoted by <tt><dir></tt>).
2.222 -
2.223 -\verbatim
2.224 -g++ -lemon -I <dir>/include -L <dir>/lib [other options] <source file>
2.225 -\endverbatim
2.226 -
2.227 -[SEC]compile_use_pkg_config[SEC] Use pkg-config
2.228 -
2.229 -\todo Write this sub-subsection (\ref compile_use_pkg_config).
2.230 -
2.231 -[TRAILER]
2.232 -*/
3.1 --- a/toc.txt Thu Nov 06 16:55:09 2008 +0100
3.2 +++ b/toc.txt Mon Feb 02 11:06:19 2009 +0100
3.3 @@ -16,15 +16,4 @@
3.4 **_graph_to_eps
3.5 **_time_count
3.6 **_random
3.7 -* install
3.8 -** requirements_lemon
3.9 -*** requirements_lp
3.10 -** install_from_source
3.11 -** install_hg
3.12 -** install_rpm
3.13 -** install_user
3.14 -** compile_codes
3.15 -*** compile_system_wide
3.16 -*** compile_user_local
3.17 -**** compile_use_pkg_config
3.18 * license