TOC?

Introduction

This document provides some help to build the EFL on Windows XP, using Visual Studio. The current EFL that are ported are evil, eina, eet, evas, ecore, embryo and edje. The ports are not complete, nor without bugs. So any help is welcome.

Curently, only Visual Studio 2005 (VS8) and Visual Studio 2008 (VS9) are supported; Visual Studio 2010 is not supported yet.

Installation and configuration

Of course, Visual Studio 2005 must be installed. Also, for Evas, the Microsoft DirectX SDK must be downloaded to get headers and libraries for DirectDraw, Direct3D and OpenGL.

Prerequisite programs

As it is best to get the last source code, you will need  TortoiseSVN to check out the source code. Install it. You will also need to extract some archive. For that, you can use  7-zip. Finally, Evas needs to be patched. This will be done automatically, but the the GNU tool  patch is needed. Download the binary zip and extract patch.exe in a directory that is in PATH (like the bin subdirectory of TortoiseSVN, eg).

Configuration

The source code must be located in specific directories. We will put everything in a subdir, you can choose whatever directory. In that tutorial, we will use c:\code. Here is the tree architecture that will be used:

c:\
   code\
      extern\
      efl\
         evil\
         eina\
         eet\
         evas\
         ecore\
         embryo\
         edje\
         elementary\
         expedite\

The extern subdirectory will be used for external libraries, usually dependencies which are not part of the EFL (like libjpeg, zlib, libpng, etc...). So create the subdirectories extern and efl in c:\code, and check out the source code of evil, eina, eet, evas, ecore, embryo, edje, elementary and expedite in c:\code\efl with TortoiseSVN.

To check out each repository, set the URL of repository in TortoiseSVN to

https://svn.enlightenment.org/svn/e/trunk/EFL_name_trunk

and the Checkout directory to

c:\code\efl\EFL_name

EFL_name is the name of the EFL.

EFL_name_trunk is the same value than EFL name for eina, eet, evas, ecore, embryo, edje and expedite. Its value is PROTO/evil for evil and TMP/st/elementary for elementary,

Build of Evil

Run

c:\code\efl\evil\win32\start.bat

It will launch the Visual Studio interface. Just compile (debug or release mode). The DLL and import libraries are located in c:\code\efl\evil\win32\vs8\out or in c:\code\efl\eet\win32\vs9\out according to the version of Visual Studio you have installed.

Build of Eina

Run

c:\code\efl\eina\win32\start.bat

It will launch the Visual Studio interface. Just compile (debug or release mode). The DLL and import libraries are located in c:\code\efl\eina\win32\vs8\out or in c:\code\efl\eet\win32\vs9\out according to the version of Visual Studio you have installed.

Build of Eet

Eet needs Evil (only on Windows, of course), Eina, zlib and libjpeg. Win32 ports of these two last libraries exist. They must be installed first.

Dependencies

  • From the !GnuWin32  zlib page, download and unzip the binary and development files in c:\code\extern.
  • Edit the file extern/include/zconf.h be replacing line 287 #if 1 by #if 0.
  • From the !GnuWin32  libjpeg page, download and unzip the binary, dependency and development files in c:\code\extern.

Build Eet

Run

c:\code\efl\eet\win32\start.bat

It will launch the Visual Studio interface. Just compile (debug or release mode). The DLL and import libraries are located in c:\code\efl\eet\win32\vs8\out or in c:\code\efl\eet\win32\vs9\out according to the version of Visual Studio you have installed.

Build of Evas

to be done

Build of Ecore

to be done

Build of Embryo

to be done

Build of Edje

to be done