diff --git a/eo/INSTALL b/eo/INSTALL index 89a45625..25f56d4a 100644 --- a/eo/INSTALL +++ b/eo/INSTALL @@ -1,235 +1,86 @@ - ----------------------------------------- -| WARNING THOSE INSTRUCTIONA ARE OUTDATED | - ----------------------------------------- - -Copyright 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software -Foundation, Inc. - - This file is free documentation; the Free Software Foundation gives -unlimited permission to copy, distribute and modify it. Basic Installation ================== - These are generic installation instructions. +The simplest way to compile the libraries or the provided softwares is to run +one of the script beginnig with "build_". Each script permits to build different +parts of the framework, with different options. - First, you need to generate a configure script using autoconf. - To do this, run the shell script sh ./autogen.sh. +To compile EO you will need CMake and a compiler for your system. - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, and a -file `config.log' containing compiler output (useful mainly for -debugging `configure'). +So far the available scripts for posix systems using g++ are the following: + * build_gcc_linux_release : the most usefull script, build the core libraries in release mode + * build_gcc_linux_debug : build the core libraries with debugging informations in the binaries + * build_gcc_linux_tutorial : build the core libraries and the tutorials + * build_gcc_linux_unittest : build the core libraries and the tests executables + * build_gcc_linux_stl_parallel : build the core libraries enabling STL parallel algorithms (like sorting) + * build_gcc_linux_pyeo : build the core libraries and the python module + * distclean : remove the "release/" and "debug/" directories where the build scripts put the binaries - It can also use an optional file (typically called `config.cache' -and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. (Caching is -disabled by default to prevent problems with accidental use of stale -cache files.) +For Windows systems using Visual Studio: + * build_vs2008_release.bat + You may need to adapt the ID to your version of Visual Studio, edit + the "Visual Studio 9 2008" string accordingly. - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If you are using the cache, and at -some point `config.cache' contains results you don't want to keep, you -may remove or edit it. +The libraries are in the "release/lib/" or "debug/lib/" directories. - The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You only need -`configure.ac' if you want to change it or regenerate `configure' using -a newer version of `autoconf'. - -The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. If you're - using `csh' on an old version of System V, you might need to type - `sh ./configure' instead to prevent `csh' from trying to execute - `configure' itself. - - Running `configure' takes awhile. While running, it prints some - messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package. - - 4. Type `make install' to install the programs and any data files and - documentation. - - 5. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. Compilers and Options ===================== - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. Run `./configure --help' -for details on some of the pertinent environment variables. +The build scripts are really simple, take a look at them to see how to use the +build system. - You can give `configure' initial values for configuration parameters -by setting variables in the command line or in the environment. Here -is an example: +Basically, the steps are: + 0. remove any old build directory that's on the way: + rm -rf build/ + 1. create a directory in which to put build files: + mkdir build/ + 2. go in this directory: + cd build/ + 3. call cmake with the options you want, using the "-D" option and passing the + EO directory as an argument, for example: + cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_CMAKE_TESTING =1 .. + 4. now type your favorite "make" command, like: + make -j # use several processors at once when possible + 5. enjoy: + ./debug/test/t-eofitness - ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix +Some of the available options are: + * CMAKE_BUILD_TYPE : + * "Debug" : embed debugging informations in the binaries) or + * "Release" : no debugging info and some optimizations (the default) + * ENABLE_EO_TUTORIAL : build the tutorial ("no" by default) + * ENABLE_CMAKE_TESTING : build the tests executables ("no" by default) + * ENABLE_PYEO : build the python module ("no" by default) - *Note Defining Variables::, for more details. +You can pass generic options to the compiler, like: + * _GLIBCXX_PARALLEL : use the parallel version of the STL -Compiling For Multiple Architectures -==================================== - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you must use a version of `make' that -supports the `VPATH' variable, such as GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. +Installation using packages +=========================== - If you have to use a `make' that does not support the `VPATH' -variable, you have to compile the package for one architecture at a -time in the source code directory. After you have installed the -package for one architecture, use `make distclean' before reconfiguring -for another architecture. +To construct a dummy template of the EO package you will need CPack. Be warned +that those do not guarantee correct dependencies and version management. -Installation Names +Use the "package_*" scripts: + * package_deb : for debian-like systems + * package_rpm : for red-hat-like systems + +Or go through the following steps: + 1. go in the build directory where your binaries are: + cd build/ + 2. call CPack specifying the desired package system: + cpack -G DEB + 3. install the package: + sudo apt-get install EO-1.1.1-Linux.deb + + +Basic installation ================== - By default, `make install' will install the package's files in -`/usr/local/bin', `/usr/local/man', etc. You can specify an -installation prefix other than `/usr/local' by giving `configure' the -option `--prefix=PATH'. +To install the framework system-wide, copy the "eo/" directory somewhere in your +path. The "lib/" directory should be reachable for the linker and the "src/" +directory must be in the compiler include path. - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -give `configure' the option `--exec-prefix=PATH', the package will use -PATH as the prefix for installing programs and libraries. -Documentation and other data files will still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=PATH' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - -Optional Features -================= - - Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - -Specifying the System Type -========================== - - There may be some features `configure' cannot figure out -automatically, but needs to determine by the type of machine the package -will run on. Usually, assuming the package is built to be run on the -_same_ architectures, `configure' can figure that out, but if it prints -a message saying it cannot guess the machine type, give it the -`--build=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name which has the form: - - CPU-COMPANY-SYSTEM - -where SYSTEM can have one of these forms: - - OS KERNEL-OS - - See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the machine type. - - If you are _building_ compiler tools for cross-compiling, you should -use the `--target=TYPE' option to select the type of system they will -produce code for. - - If you want to _use_ a cross compiler, that generates code for a -platform different from the build platform, you should specify the -"host" platform (i.e., that on which the generated programs will -eventually be run) with `--host=TYPE'. - -Sharing Defaults -================ - - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Defining Variables -================== - - Variables not defined in a site shell script can be set in the -environment passed to `configure'. However, some packages may run -configure again during the build, and the customized values of these -variables may be lost. In order to avoid this problem, you should set -them in the `configure' command line, using `VAR=value'. For example: - - ./configure CC=/usr/local2/bin/gcc - -will cause the specified gcc to be used as the C compiler (unless it is -overridden in the site shell script). - -`configure' Invocation -====================== - - `configure' recognizes the following options to control how it -operates. - -`--help' -`-h' - Print a summary of the options to `configure', and exit. - -`--version' -`-V' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`--cache-file=FILE' - Enable the cache: use and save the results of the tests in FILE, - traditionally `config.cache'. FILE defaults to `/dev/null' to - disable caching. - -`--config-cache' -`-C' - Alias for `--cache-file=config.cache'. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`configure' also accepts some other, not widely useful, options. Run -`configure --help' for more details. diff --git a/eo/README b/eo/README index 98cf75e1..d4268be0 100644 --- a/eo/README +++ b/eo/README @@ -10,7 +10,7 @@ The latest news about EO can be found on the sourceforge repository at http://eodev.sourceforge.net/ In case of any problem, please e-mail us at - eodev-help@lists.sourceforge.net, eodev@egroups.com + eodev-main@lists.sourceforge.net To get started, take a look at the tutorial, starting with ./tutorial/html/eoTutorial.html @@ -18,7 +18,7 @@ To get started, take a look at the tutorial, starting with The easiest way to start programming a new genome with all EO evolution engines handy is to create a new standalone EO project from the tutorial/Templates/ directory. Read Lesson 5 of the tutorial for -an introduction;) +an introduction ;) ================================================================== @@ -26,27 +26,15 @@ an introduction;) ================================================================== The basic installation procedure goes the following: -Go to your build-directory and run - $(SRCDIR)/configure - make - make check - make install -where $(SRCDIR) is the top-level source directory of EO, i.e. where -the sources where unpacked. +Go to the "eo/" and run one of the "build_*" script.  -Run "$(SRCDIR)/configure --help" for possible options. You can specify -to not build example applications, the tutorial, or to build the -ParadisEO tutorial. You may also change the installation directory -that way. +Using the "build_gcc_linux_release" script is generally what you want. The +binaries are then located in the "release/" directory. Now you should probably go to the tutorial and start learning about EO features and programming. - -In case of problems, you can read the INSTALL file - but remember this -is a standard installation file from GNU and that it contains nothing -specific about EO. - +In case of problems or if you want advanced options, you can read the INSTALL file. =================================================================== DIRECTORY STRUCTURE @@ -99,12 +87,3 @@ structure: | +-- win WINDOWS dir: project files for MS/VC5+ - - -=================================================================== - NOTES -=================================================================== -If you extracted a fresh snapshot from the cvs-repository, remember -to run - ./autogen.sh -in the source-directory before building the libraries.