diff -r da96f28684f7 -r 934258c64b6b install.dox
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/install.dox Fri Oct 24 13:26:15 2008 +0100
@@ -0,0 +1,189 @@
+/* -*- mode: C++; indent-tabs-mode: nil; -*-
+ *
+ * This file is a part of LEMON, a generic C++ optimization library.
+ *
+ * Copyright (C) 2003-2008
+ * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
+ * (Egervary Research Group on Combinatorial Optimization, EGRES).
+ *
+ * Permission to use, modify and distribute this software is granted
+ * provided that this copyright notice appears in all copies. For
+ * precise terms see the accompanying LICENSE file.
+ *
+ * This software is provided "AS IS" with no warranty of any kind,
+ * express or implied, and with no claim as to its suitability for any
+ * purpose.
+ *
+ */
+
+/**
+\page install Installation Guide
+
+In this page we detail how to start using LEMON, from downloading it to
+your computer, through the steps of installation, to showing a simple
+"Hello World" type program that already uses LEMON. We assume that you
+have a basic knowledge of your operating system and C++ programming
+language. The procedure is pretty straightforward, but if you have any
+difficulties do not hesitate to
+ask.
+
+\section requirements_lemon Hardware and Software Requirements
+
+In LEMON we use C++ templates heavily, thus compilation takes a
+considerable amount of time and memory. So some decent box would be
+advantageousm, but otherwise there are no special hardware requirements.
+
+You will need a recent C++ compiler. Our primary target is the GNU C++
+Compiler (g++), from version 3.3 upwards. We also checked the Intel C++
+Compiler (icc) and Microsoft Visual C++ (on Windows).
+If you want to develop with LEMON under Windows, you can use a Windows
+installer or you can consider using Cygwin.
+
+In this description we will suppose a Linux environment and GNU C++ Compiler.
+If you would like to develop under Windows and use a Windows installer,
+you could skip the following sections and continue reading \ref hello_lemon.
+However keep in mind that you have to make appropriate steps instead of
+the instructions detailed here to be able to compile the example code
+with your compiler.
+
+\subsection requirements_lp LP Solver Requirements
+
+The LEMON LP solver interface can use the GLPK (GNU Linear Programming
+Kit), CPLEX and SoPlex solver. If you want to use it, you will need at
+least one of these.
+See the INSTALL file how to enable these at compile time.
+
+\section install_from_source Install from Source
+
+You can download LEMON from the web site:
+http://lemon.cs.elte.hu/.
+There you will find released versions in form of .tar.gz files
+(and Windows installers).
+If you want a developer version (for example you want to contribute in
+developing LEMON) then you might want to use our Mercurial repository.
+This case is detailed \ref hg_checkout "later", so from now on we
+suppose that you downloaded a .tar.gz file.
+
+Thus you have to do the following steps.
+
+Download the tarball either from the browser or just issuing
+
+\verbatim
+wget http://lemon.cs.elte.hu/pub/sources/lemon-1.0.tar.gz
+\endverbatim
+
+\note The tarball is named lemon-x.y.z.tar.gz where \c x, \c
+y and \c z (which is missing if it is 0) are numbers indicating the
+version of the library, in our example we will have
+lemon-1.0.tar.gz.
+
+Then issue the following commands:
+
+\verbatim
+tar xvzf lemon-1.0.tar.gz
+cd lemon-1.0
+./configure
+make
+make check # This is optional, but recommended. It runs a bunch of tests.
+make install
+\endverbatim
+
+These commands install LEMON under \c /usr/local (you will
+need root privileges to be able to install to that
+directory). If you want to install it to some other place, then
+pass the \c --prefix=DIRECTORY flag to ./configure, for example:
+
+\verbatim
+./configure --prefix=/home/username/lemon
+\endverbatim
+
+In what follows we will assume that you were able to install to directory
+\c /usr/local, otherwise some extra care is to be taken to use the library.
+
+We briefly explain these commands below.
+
+\verbatim
+tar xvzf lemon-1.0.tar.gz
+\endverbatim
+This command untars the tar.gz file into a directory named
+lemon-1.0.
+
+\verbatim
+cd lemon-1.0
+\endverbatim
+This command enters the directory.
+
+\verbatim
+./configure
+\endverbatim
+This command runs the configure shell script, which does some checks and
+creates the makefiles.
+
+\verbatim
+make
+\endverbatim
+This command compiles the non-template part of LEMON into libemon.a
+file. It also compiles the programs in the tools and demo subdirectories
+when enabled.
+
+\verbatim
+make check
+\endverbatim
+This step is optional, but recommended. It performes a bunch of library
+self-tests.
+
+\verbatim
+make install
+\endverbatim
+This command will copy the directory structure to its final destination
+(e.g. to \c /usr/local) so that your system can access it.
+This command should be issued as "root", unless you provided a
+\c --prefix switch to the \c configure to install the library in
+non-default location.
+
+Several other configure flags can be passed to ./configure.
+For more information see the INSTALL file.
+
+\subsection install_hg Install the latest development version
+
+You can also use the latest (developer) version of LEMON from our Mercurial
+repository. You need a couple additional tool for that
+
+- Mercurial
+ - for obtaining the latest code (and for contributing into it)
+- automake (1.7 or newer)
+- autoconf (2.59 or newer)
+- libtool
+- pkgconfig
+ - for initializing the build framework
+- Doxygen
+ - for generating the documentations (optional, but recommended)
+
+Once you have all these tools installed, the process is fairly easy.
+First, you have to get the copy of the lates version.
+
+\verbatim
+hg clone http://lemon.cs.elte.hu/hg/lemon-main lemon-src
+\endverbatim
+
+The next step is to initialize the build system.
+
+\verbatim
+autoreconf -vif
+\endverbatim
+
+Then the process is the same as in case of using the release tarball.
+
+\verbatim
+./configure
+make
+make check # This is optional, but recommended. It runs a bunch of tests.
+make install
+\endverbatim
+
+To generate the documentation, just run
+\verbatim
+make html
+\endverbatim
+
+*/