Implement ee's req value to other windowing system.
[framework/uifw/ecore.git] / README.in
1 Ecore @VERSION@ BETA
2
3 ******************************************************************************
4
5  FOR ANY ISSUES PLEASE EMAIL:
6  enlightenment-devel@lists.sourceforge.net
7   
8 ******************************************************************************
9   
10 Requirements:
11 -------------
12
13 Must:
14   libc
15   libm
16   eina (1.0.0 or better)
17   (For windows you also need: evil)
18   
19 Recommended:
20   libX11
21   libXext
22   libXcursor
23   libXprint
24   libXinerama
25   libXrandr
26   libXss
27   libXrender
28   libXcomposite
29   libXfixes
30   libXdamage
31   libXdpms
32   libXtest
33   OpenSSL
34   CURL
35   evas (1.0.0 or better)
36
37 Optional:
38   XCB (highly experimental - don't use it unless you are fixing it)
39   SDL
40   DirectFB
41
42 Ecore is a clean and tiny event loop library with many modules to do
43 lots of convenient things for a programmer, to save time and effort.
44
45 It's small and lean, designed to work on embedded systems all the way
46 to large and powerful multi-cpu workstations. It serialises all system
47 signals, events etc. into a single event queue, that is easily
48 processed without needing to worry about concurrency. A properly
49 written, event-driven program using this kind of programming doesn't
50 need threads, nor has to worry about concurrency. It turns a program
51 into a state machine, and makes it very robust and easy to follow.
52
53 Ecore gives you other handy primitives, such as timers to tick over
54 for you and call specified functions at particular times so the
55 programmer can use this to do things, like animate, or time out on
56 connections or tasks that take too long etc.
57
58 Idle handlers are provided too, as well as calls on entering an idle
59 state (often a very good time to update the state of the program). All
60 events that enter the system are passed to specific callback functions
61 that the program sets up to handle those events. Handling them is
62 simple and other Ecore modules produce more events on the queue,
63 coming from other sources such as file descriptors etc.
64
65 Ecore also help you work in a multi threaded environment and setup a
66 thread pool that help you use the EFL on multi-cpu system. It help split
67 the part that can't be called outside of the ecore main loop from the
68 computation heavy function that could run on another CPU. Be aware that
69 Evas and most of Ecore API is not thread safe and should only be called
70 in the main loop. Eina and Eet could be used, if done carefully, in any
71 heavy function on another cpu.
72
73 Ecore also lets you have functions called when file descriptors become
74 active for reading or writing, allowing for streamlined, non-blocking
75 IO.
76
77 ------------------------------------------------------------------------------
78 COMPILING AND INSTALLING:
79
80   ./configure
81   make
82 (as root unless you are installing in your users directories):
83   make install
84       
85 ------------------------------------------------------------------------------
86 NOTE:
87
88 You can experience main loop lock (and more likely see UI lock) if libcurl
89 doesn't use an asynchronous dns resolver. Since Curl 7.21.0, you can use the
90 native dns resolver asynchronously by turning  --enable-threaded-resolver
91 on during configure time. For older version, C-Ares is the way to solve that
92 issue (see: http://c-ares.haxx.se/ ).