Vincent Torri
2008 (created)

Table of Contents


The Evil library is an evil library that ports some evil Unix functions to the Windows (XP or above, or Mobile) platform. The evilness is so huge that the most of the functions are not POSIX or BSD compliant.

These functions are intended to be used inside the Enlightenment Foundation Libraries as private library and can be compiled only on Windows, using MSYS/MinGW on Windows, and cross-compilation on Unix. This library is minimal in the sense that only the functions needed to compile the EFL are available. The purpose of this library is NOT to have a full POSIX emulation et it is NOT a replacement of cygwin. To compare the size of the DLL themselves, Evil is around 33 KB and cygwin DLL is around 800 KB.


This library has receive some from people interested in the EFL or not. Among them, evil thanks to Lars Munch, Raoul Hecky, Nicolas Aguirre, Tor Lillqvist, Lance Fetters, Vincent Richomme, Paul Vixie, Daniel Stenberg, who helped the author of the library in different fields (code and tests).

How to compile

Evil is a library your application links to. The procedure for this is very simple. You simply have to compile your application with the appropriate compiler flags that the pkg-config script outputs. For example:

Compiling C or C++ files into object files:

gcc -c -o main.o main.c `pkg-config --cflags evil`

Linking object files into a binary executable:

gcc -o my_application main.o `pkg-config --libs evil`

See pkgconfig

Next Steps

After you understood what Evil is and installed it in your system you should proceed understanding the programming interface.

Recommended reading: