The EFL is a toolkit for writing cross-platform applications. Enlightenment
is a desktop shell built using this toolkit. Both the EFL and Enlightenment
are fast and light on resources (which made them the toolkit of choice in
places such as the Tizen operating system and embedded environments) while
remaining scalable, but their low level approach complicates portability.
In this talk I'd like to summarize our past portability issues and tackle
current ones, as well as talk about our future direction. The talk will be
focused on FreeBSD, using it as an example, but will also cover our general
issues and portability to other operating systems including Windows and OS X.
The EFL (Enlightenment Foundation Libraries) is a toolkit for writing
applications (desktop and mobile alike), notably used by the Tizen operating
system as well as other places. Enlightenment itself is a desktop shell built
upon this toolkit. It's clean, lightweight and written entirely in C. However,
its low-level implementation approach has, besides small size and high
performance, a flaw, which is portability, an issue I have to deal with
very often as part of my work at Samsung.
Enlightenment/EFL developers have always tried to write relatively portable
code, but there are still quite a few issues (major and minor) that remain.
As a FreeBSD user I think that portability is a very important topic that
should not be overlooked, and that's why I would like to cover these issues
in this talk as well as propose some solutions. The problems we're currently
facing include dependency on certain very Linux specific things, such as udev,
Wayland etc. as well as differences between APIs provided by those operating
systems and differences in tooling (build systems...).
By coming up with solutions to these issues, we can make the EFL and E work
better on non-Linux operating systems (including but not limited to the BSD
family, Mac OS X or even Windows) as well as make it work better in those
places where it already runs, making it more accessible to more developers.
In this talk I will introduce the EFL and Enlightenment, cover portability
problems across different operating systems with a focus on *BSD (and
lesser coverage of OS X and Windows) and present our future plans as far
as platform coverage is concerned.