From dd7595a3475407a7fa96a97393bae8c5220e8762 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Wed, 4 Jan 2012 18:41:13 +1000 Subject: 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. --- libraries/ecore/README | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 libraries/ecore/README (limited to 'libraries/ecore/README') 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 @@ +Ecore 1.1.0 + +****************************************************************************** + + FOR ANY ISSUES PLEASE EMAIL: + enlightenment-devel@lists.sourceforge.net + +****************************************************************************** + +Requirements: +------------- + +Must: + libc + libm + eina (1.1.0 or better) + (For windows you also need: evil) + +Recommended: + libX11 + libXext + libXcursor + libXprint + libXinerama + libXrandr + libXss + libXrender + libXcomposite + libXfixes + libXdamage + libXdpms + libXtest + GNUTLS or OpenSSL + CURL + evas (1.1.0 or better) + +Optional: + XCB (fully working) + SDL + DirectFB + glib + tslib + +Ecore is a clean and tiny event loop library with many modules to do +lots of convenient things for a programmer, to save time and effort. + +It's small and lean, designed to work on embedded systems all the way +to large and powerful multi-cpu workstations. It serialises all system +signals, events etc. into a single event queue, that is easily +processed without needing to worry about concurrency. A properly +written, event-driven program using this kind of programming doesn't +need threads, nor has to worry about concurrency. It turns a program +into a state machine, and makes it very robust and easy to follow. + +Ecore gives you other handy primitives, such as timers to tick over +for you and call specified functions at particular times so the +programmer can use this to do things, like animate, or time out on +connections or tasks that take too long etc. + +Idle handlers are provided too, as well as calls on entering an idle +state (often a very good time to update the state of the program). All +events that enter the system are passed to specific callback functions +that the program sets up to handle those events. Handling them is +simple and other Ecore modules produce more events on the queue, +coming from other sources such as file descriptors etc. + +Ecore also help you work in a multi threaded environment and setup a +thread pool that help you use the EFL on multi-cpu system. It help split +the part that can't be called outside of the ecore main loop from the +computation heavy function that could run on another CPU. Be aware that +Evas and most of Ecore API is not thread safe and should only be called +in the main loop. Eina and Eet could be used, if done carefully, in any +heavy function on another cpu. + +Ecore also lets you have functions called when file descriptors become +active for reading or writing, allowing for streamlined, non-blocking +IO. + +------------------------------------------------------------------------------ +COMPILING AND INSTALLING: + + ./configure + make +(as root unless you are installing in your users directories): + make install + +------------------------------------------------------------------------------ +NOTE: + +You can experience main loop lock (and more likely see UI lock) if libcurl +doesn't use an asynchronous dns resolver. Since Curl 7.21.0, you can use the +native dns resolver asynchronously by turning --enable-threaded-resolver +on during configure time. For older version, C-Ares is the way to solve that +issue (see: http://c-ares.haxx.se/ ). -- cgit v1.1