aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/ecore/README
diff options
context:
space:
mode:
authorDavid Walter Seikel2012-01-04 18:41:13 +1000
committerDavid Walter Seikel2012-01-04 18:41:13 +1000
commitdd7595a3475407a7fa96a97393bae8c5220e8762 (patch)
treee341e911d7eb911a51684a7412ef7f7c7605d28e /libraries/ecore/README
parentAdd the skeleton. (diff)
downloadSledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.zip
SledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.tar.gz
SledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.tar.bz2
SledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.tar.xz
Add the base Enlightenment Foundation Libraries - eina, eet, evas, ecore, embryo, and edje.
Note that embryo wont be used, but I'm not sure yet if you can build edje without it.
Diffstat (limited to 'libraries/ecore/README')
-rw-r--r--libraries/ecore/README94
1 files changed, 94 insertions, 0 deletions
diff --git a/libraries/ecore/README b/libraries/ecore/README
new file mode 100644
index 0000000..7b11f68
--- /dev/null
+++ b/libraries/ecore/README
@@ -0,0 +1,94 @@
1Ecore 1.1.0
2
3******************************************************************************
4
5 FOR ANY ISSUES PLEASE EMAIL:
6 enlightenment-devel@lists.sourceforge.net
7
8******************************************************************************
9
10Requirements:
11-------------
12
13Must:
14 libc
15 libm
16 eina (1.1.0 or better)
17 (For windows you also need: evil)
18
19Recommended:
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 GNUTLS or OpenSSL
34 CURL
35 evas (1.1.0 or better)
36
37Optional:
38 XCB (fully working)
39 SDL
40 DirectFB
41 glib
42 tslib
43
44Ecore is a clean and tiny event loop library with many modules to do
45lots of convenient things for a programmer, to save time and effort.
46
47It's small and lean, designed to work on embedded systems all the way
48to large and powerful multi-cpu workstations. It serialises all system
49signals, events etc. into a single event queue, that is easily
50processed without needing to worry about concurrency. A properly
51written, event-driven program using this kind of programming doesn't
52need threads, nor has to worry about concurrency. It turns a program
53into a state machine, and makes it very robust and easy to follow.
54
55Ecore gives you other handy primitives, such as timers to tick over
56for you and call specified functions at particular times so the
57programmer can use this to do things, like animate, or time out on
58connections or tasks that take too long etc.
59
60Idle handlers are provided too, as well as calls on entering an idle
61state (often a very good time to update the state of the program). All
62events that enter the system are passed to specific callback functions
63that the program sets up to handle those events. Handling them is
64simple and other Ecore modules produce more events on the queue,
65coming from other sources such as file descriptors etc.
66
67Ecore also help you work in a multi threaded environment and setup a
68thread pool that help you use the EFL on multi-cpu system. It help split
69the part that can't be called outside of the ecore main loop from the
70computation heavy function that could run on another CPU. Be aware that
71Evas and most of Ecore API is not thread safe and should only be called
72in the main loop. Eina and Eet could be used, if done carefully, in any
73heavy function on another cpu.
74
75Ecore also lets you have functions called when file descriptors become
76active for reading or writing, allowing for streamlined, non-blocking
77IO.
78
79------------------------------------------------------------------------------
80COMPILING AND INSTALLING:
81
82 ./configure
83 make
84(as root unless you are installing in your users directories):
85 make install
86
87------------------------------------------------------------------------------
88NOTE:
89
90You can experience main loop lock (and more likely see UI lock) if libcurl
91doesn't use an asynchronous dns resolver. Since Curl 7.21.0, you can use the
92native dns resolver asynchronously by turning --enable-threaded-resolver
93on during configure time. For older version, C-Ares is the way to solve that
94issue (see: http://c-ares.haxx.se/ ).