Evil

- Main Page
- Related Pages
- Modules
- Data Structures
- Files
- Examples

Evil

Author
  Vincent Torri

Date
  2008 (created)

# Table of Contents

- Introduction
- Acknowledgments
- How to compile
- Next Steps

# Introduction

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.

# Acknowledgments

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:

- Functions that manage memory mappping.
- Unistd.h functions
- Functions that manage dynamic-link libraries.
- locale.h functions.
- Stdio.h functions
- Main
- String.h functions.
- Stdlib.h functions.
- Time.h functions