Enlightenment.org
-
-

EFL User Guide

-

This is the user guide for non-E17 EFL programs.

2.1 - Building Order and CVS Notes

The Enlightenment Foundation Libraries nor the applications based on them that are covered in this guide haven't been released yet and thus you'll either need to get a current development versions directly from CVS. If you don't know what CVS, is, check http://www.nongnu.org/cvs.

In order to be able to build the programs mentioned in this guide, you'll need to install certain (depending on which applications you are going to install) EFL libraries. For build requirements and dependency information, check http://www.rasterman.com/files/efl.png and http://enlightenment.freedesktop.org.

You'll need to follow the EFL diagram to see the dependencies and build orders for the various libraries. If you wish to install all EFL and thus be able to build almost all EFL based programs mentioned in this guide (some may have additional dependencies, which are noted later in this guide), you can use the following build order:

1. e17/libs/eet
2. e17/libs/edb
3. e17/libs/evas
4. e17/libs/ecore
5. e17/libs/embryo
6. e17/libs/imlib2
7. e17/libs/edje
8. e17/libs/epeg
9. e17/libs/epsilon
10. e17/libs/esmart
11. e17/libs/emotion
(note that you'll need to have xine-lib installed as emotion uses it)
12. e17/libs/engrave (this is currently needed for e_utils only)
13. e17/libs/ewl (this is needed for some apps only)
14. e17/proto/etk (this is needed for some apps only)

The number specified is the order in which you need to install the libraries in. The path is the CVS directory where the library is located. You'll need to use this path when you start downloading the libraries/programs with CVS. This order is simply for those who wish to compile all EFL and thus be able to build all EFL apps. The dependencies of individual EFL apps vary. It doesn't matter in which order you install the EFL based programs.

Most of the following applications covered in this guide should build with the above libraries. Please note the CVS directories:

  • e17/apps/entice (image viewer)
  • e17/apps/entrance (login manager)
  • e17/apps/eclair (media player)
  • misc/engage (standalone dockbar and E17 module)
  • misc/erss (RSS feed application that does not work correctly in E17)
  • e17/apps/elicit (color picker/screen magnifier)
  • misc/embrace (mail checker and E17 module)
  • e17/proto/entropy (file manager)
  • e17/proto/exhibit (image viwer)
These aren't all the EFL based applications, just some of the most popular ones. Again, note the CVS directory paths - you'll need them when you start downloading these programs from CVS.

Now you will need to download all the EFL based programs that you want one by one using CVS. Make sure you download all dependencies as well. If you don't want to check the EFL dependency graph to see which EFL libraries you require, you can download every library that was mentioned in the beginning of this section. This for example will download the Eclair media player:

$ cvs -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e login
$ cvs -z3 -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e co e17/apps/eclair

In order to build the EFL libraries and these EFL based programs from CVS you will need a sane build environment including the following:

  • m4
  • autoconf
  • automake (1.7 or greater)
  • libtool
  • pkg-config
  • textinfo
  • gettext

The following is a list of general, non distro-specific, dependencies for building the EFL libraries. Your distribution may have these dependencies named differently.

  • eet: depends on zlib and jpeg
  • edb: depends on xorg-x11/xfree86, optional dependencies on db, gtk and ncurses
  • evas: depends on automake and libtool, optional depencies on X11-LIBS, directfb, opengl, cairo, libpng, jpeg, eet and valgrind
  • ecore: depends on eet and evas, optional dependencies on openssl, X11-LIBS, directfb
  • embryo: depends on automake and libtool
  • imlib2: depends on libtool, tiff, libpng, zlib, jpeg, libungif, freetype2 and X11-LIBS
  • edje: depends on embryo and ecore
  • epeg: depends on automake, libtool and jpg
  • epsilon: depends on libpng, imlib2 and epeg
  • esmart: depends on ecore, edje and epsilon
  • emotion: depends on xine-lib and python
  • engrave: depends on edje
  • ewl: depends on edje, edb, ecore, evas and etox
  • etox: depends on ecore
First you will need to install all the EFL libraries in the correct order. After this you can start installing the individual EFL based applications that you wish to install. You are probably already familiar with the following basic steps:
$ ./autogen.sh
$ ./configure --help
# See if there are any configure options you'd like to set, for example if you
# want to install it to somewhere else than /usr/local, you'll need to run
# configure with the right switch.
$ make
# and finally as root:
$ make install

If you don't set any special configure options, the EFL and the EFL based programs that you wish to install will be installed to /usr/local.

Also make sure you have the right paths configured in /etc/ld.so.conf. For example if you install the EFL to /usr/local you should also add that directory to /etc/ld.so.conf and run ldconfig as root to create the necessary links and cache to the most recent shared libraries found in the directories specified in the config file. Note that you'll need to run ldconfig as root after every library that you install to the custom directory that you specified in /etc/ld.so.conf!

Once you have installed the necessary Enlightenment Foundation Libraries, you probably also want to also install some EFL based applications covered in this guide.

The CVS tree directories for the applications covered in this guide are:

  • e17/apps/entice
  • e17/apps/entrance
  • e17/apps/elicit
  • e17/apps/eclair
  • misc/erss
  • misc/engage
  • e17/proto/entropy
  • misc/embrace
  • e17/proto/exhibit

The Evidence file manager is not on the same CVS server address as the rest of the covered programs are. In order to download Evidence, you'll need to use the following commands:

cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/evidence login
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/evidence co evidence

This should create a directory called "evidence" within the directory from which you ran these commands.

For all other applications, the commands you'll need to use is this (this for example would download Entice):

$ cvs -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e login
$ cvs -z3 -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e co e17/apps/entice

The following is a list of some general, non distro-specific, dependencies for building these EFL-based applications Your distribution may have these dependencies named differently. We will be updating this list soon.

  • entice: depends on edb, eet, imlib2, imlib2_loaders, evas, ecore, edje and esmart
  • elicit: depends on esmart and edje
  • eclair: depends on taglib, esmart, libxml2, emotion, gtk2, sqlite3
  • erss: depends on libxml2, edje, esmart, etox
  • engage: depends on esmart, ewl, examine

In order to install the program, you'll need to do the standard:

# as a user account
$ ./autogen.sh
$ ./configure --help
# See this for compile options you might want and set them by running
# configure with the switch you want.
$ make
# and finally as root
$ make install

By default everything is installed into "/usr/local".

Note: if you want to install E17 in a prefix other than the usual ones (for example in your /home dir) then you'll need to set up your CPPFLAGS and LDFLAGS before running configure. For example you can export them:

export CPPFLAGS="$CPPFLAGS -I/your/prefix/to/e17/include"
export LDFLAGS="$LDFLAGS -L/your/prefix/to/e17/lib"

PreviousUpNext

-