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"
|