path: root/src/ (unfollow)
AgeCommit message (Collapse)Author
2019-06-18autotools: REMOVAL!Marcel Hollerbach
Get your seatbelt fastend! It is happening! AUTOTOOLS IS GONE NOW! All praise to meson! This time the final version, ci has been adjusted, and now does not try anymore to build a removed buildsystem. However, the scripts in there need cleaning up. Differential Revision:
2019-06-18Revert "autotools: REMOVAL!"Marcel Hollerbach
This reverts commit e8c69667b01e2795c1e4ead0536652f935ffa674. git push on a wrong branch, sorry. This will land today, but not now.
2019-06-18autotools: REMOVAL!Marcel Hollerbach
Get your seatbelt fastend! It is happening! AUTOTOOLS IS GONE NOW! All praise to meson! Differential Revision:
2019-04-15Windows : fix the definition of EAPIVincent Torri
Summary: with autotools, EFL_BUILD was passed to the preprocessor for libraries and binaries, which was wrong. Only libraries must have EFL_BUILD defined. See T7797 for an explanation This also fix EAPI in Ecore_Getopt.g and Efl_UI.h Also note that all the wayland and drm Makefile's have not been touched Test Plan: compilation Reviewers: raster, zmike, cedric Subscribers: #reviewers, #committers Tags: #efl Differential Revision:
2019-01-30build: remove eina-bench-cmp from DIST listWonki Kim
the script has been removed on cause it's quite useless. this patch removes it from autotools build also. Differential Revision:
2018-08-20move efreet xdg envvars to einaMarcel Hollerbach
Summary: The contents of the XDG_ env vars are also usefull for eina subsystems, thus we should init those env vars here. Depends on D6751 Reviewers: zmike, stefan_schmidt, #committers Reviewed By: zmike, #committers Subscribers: #reviewers, cedric, #committers, zmike Tags: #efl Differential Revision:
2018-06-19tests: add test for eina_debug signal handlingMike Blumenkrantz
Summary: currently this crashes, so add a simple test to ensure that it works eventually ref T7028 Reviewers: ManMower, devilhorns Reviewed By: ManMower Subscribers: cedric, #committers Tags: #efl Maniphest Tasks: T7028 Differential Revision:
2018-04-05tests: unbreak PACKAGE_BUILD_DIR usage in makefilesMike Blumenkrantz
for some reason, a few projects changed this from the expected value of abs_top_builddir for their test suites, breaking the usage of this define within those tests fix T6812 Reviewed-by: Stefan Schmidt <>
2018-02-22introduce eina_vpath!Marcel Hollerbach
Its the successor of efl.vpath, the api is synchronous, and supports addtional vpath paths, new apis cal always be added to use them.
2017-12-19eina: Add missing eina_internal.hJean-Philippe Andre
2017-09-04Eina: Add Eina_Promise/Eina_Future.Guilherme Iscaro
This commit adds a new promise/future API which aims to replace efl_future.
2017-06-21eina: make sure the eina_debug_private.h header is included into distStefan Schmidt
This has been missing in the dist tarball and failed distcheck.
2017-06-05Add a better support of timersDaniel Zaoui
Now, the timers are handled in one dedicated thread. Multiple timers are supported.
2017-06-05First patch of the Eina Debug layer rewritingDaniel Zaoui
Eina Debug is a new layer aimed for EFL debugging. It offers scalability by allowing registration of operations not specific to EFL core. The protocol is simple and the APIs try to provide as much functionalities/freedom as possible.
2017-02-10eina_modinfo: add missing dependency on libeina.laRomain Naour
Fixes: libtool: error: cannot find the library 'lib/eina/' or unhandled argument 'lib/eina/' Signed-off-by: Romain Naour <>
2017-01-23fix build with split eina_modinfo directory.Gustavo Sverzut Barbieri
2017-01-23CMake: move eina binaries to single dir, add helper macros.Gustavo Sverzut Barbieri
For one-source directories, be smart and just define SOURCES to that, will reduce the number of too-simplistic CMakeLists.txt in our tree. This also fixes problems with libraries, they should be private, not public. So specify both kinds as different variables.
2017-01-17eina: Introduce Eina_Slstr for short-lived stringsJean-Philippe Andre
Built on top of the new 'postponed' free queue, the short-lived strings API allows users to return new strings without caring about freeing them. EFL main loop will do this automatically for them you at a later point in time (at the end of an iteration). The APIs provided will either duplicate (copy) or more generally steal an existing string (char *, stringshare, tmpstr, strbuf), taking ownership of it and controling its lifetime. Those strings can then be safely returned by an API. From a user point of view, those strings must be considered like simple const char *, ie. no need to free() them and their validity is limited to the local scope. There is no function to remove such a string from the freeq. The short lived strings API is not thread-safe: do not send a short-lived object from one thread to another. @feature
2017-01-06eina: add test for all float/double util function.Cedric BAIL
2017-01-06eina: include forgotten test file in release tarball.Cedric BAIL
2017-01-06eina: move to use memcmp and rename eina_{flt,dbl}eq to eina_{flt,dbl}_exact.Cedric BAIL
2016-12-21eina: try slight improvement of eina tests suite.Cedric BAIL
Still need to go through individual test to improve them.
2016-11-07eina: remove Eina_Promise.Cedric BAIL
2016-11-07eina: remove Eina_Promise tests.Cedric BAIL
2016-11-06eina - add a free queue (eina_freeq) for deferring frees of dataCarsten Haitzler (Rasterman)
this adds eina_freeq api's for c land for deferring freeing of pointers and can be used a s a simple copy & paste drop-in for free() just to "do this later". the pointer will eveentually be freed as eina_shutdown will free the main free queue and this will in turn free everything in it. as long as the main lo0op keeps pumping things will og on the queue and then be freed from it. free queues have limits so if they get full they will clear out old pointers and free them so it won't grow without bound. the default max is 1mb of data or 16384 items whichever limit is hit first and at that point the oldest item will be freed to make room for the newest. the mainloop whenever it finishes idle enterers will add an idler to spin and free while idle. the sizes can be tuned and aruged about as to what defaults should be. this also allows for better memory debugging too by being able to fill freed memory with patterns if its small enough etc. etc. @feature
2016-09-20eina_cpu, evas: Remove _eina_cpu_fast_core_get, don't set render thread affinityDerek Foreman
We've decided it would be best to just let the scheduler do its job.
2016-09-20eina - redo a lot of the static inlines to have better instr cache usageCarsten Haitzler (Rasterman)
this moves a lot of logic that is rare away from the linear/flat asm path of code so we et fewer l1 cache misses when executing chuncks of our code. this also reduces the code size and takes some funcs like in eina_inline_lock_posix.x and makes them real functions to reduce code size thus better l1 cache usage - only for new/free of locks. spinlocks, semaphores etc. as these will have no advantage being inlined but simply bloat out code size instead. overall this actually reduces efl lib binary sizes 0.4%, so that's a good sign. this passes make check and i think i got it right... let me know if i didn't. i'm also not sure i should just keep the static inlines and not make the formerly static inline funcs full EAPI ones now... good q.
2016-09-16eina_cpu: Add an internal api for getting a random fast coreDerek Foreman
In a big.LITTLE ARM system cores can have different capabilities. This gives an internal API that randomly returns the core id of any of the system's fastest cores. On systems where all cores are the same, it will return any available core. If we don't have cpufreq support we just return 0
2016-08-31eina: module - Add macros for adding module informationsAmitesh Singh
Summary: These macros allow you to define module informations like author/description/version/license e.g. // Use "Name <email id>" or just "Name" EINA_MODULE_AUTHOR("Enlightenment Community"); // Mention license EINA_MODULE_LICENSE("GPL v2"); // What your module does EINA_MODULE_DESCRIPTION("This is what this module does"); // Module version EINA_MODULE_VERSION("0.1"); Now eina_modinfo can show these informations to users $ eina_modinfo version: 0.1 description: Entry test license: GPLv2 author: Enlightenment Community @feature Reviewers: cedric, tasn, raster, jpeg Subscribers: seoz Differential Revision:
2016-08-22eina: introduce Eina_Slice and Eina_Rw_Slice.Gustavo Sverzut Barbieri
A plain simple pointer + length describing a linear memory region.
2016-08-02build: do not dist now longer available filesStefan Schmidt
Another cleanup for commit dd1d3f0d2d8f7369f7461f54928eac2a4fce99fb. These makefiles are now longer available better not try to dist them.
2016-06-10eina: add forgotten file for distcheck.Cedric BAIL
2016-06-10eina: add tests suite for Eina_Safepointer.Cedric BAIL
2016-06-10eina: add generic infrastructure for a Eina_SafepointerCedric BAIL
This is heavily inspired from Eo_Id infrastructure. Main change are that the lower bit are always guaranteed to be zero and ignored by all function. Also it may be a little bit less efficient in some case, but we will tune it once we have real life usage of it. Eo won't be migrated for 1.18 to it as Eo_Id is deeply integrated and it is quite risky to touch it so close from a freeze. This can wait.
2016-06-10build: split EXTRA_DIST files in src/ off from DISTFILES and handle separatelyStefan Schmidt
This is again to avoid the "Argument list too long" error we are hitting more and more now. Given we just merged elementary, emotion generic players, evas generic loaders and elm_code it is not surprising we are hitting it again. This time the number of files being hold in DISTFILES has just grown to big so a make dist was no longer possible. If one looks at what the DISTFILES variable from automake holds you can image it grows a lot with all the source files plus generated files we have in tree now. DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) To cut off a big chunk but still keep all the other automagic in place for SOURCE files I went and renamed the EXTRA_DIST in src/ to EXTRA_DIST2 and handle the files in a dist-hook now. Another thing to note here is that this also only happens as we have the one big Makefile with includes. If we go back to per directory Makefiles this problem should vanish as well. In any case we need a solution for 1.18 now and this is what I have to offer. If you have a cleaner solution in mind feel welcome to test it out and if everything we need keeps working (make, make examples, make check, make benchmark, make dist and make distcheck) go ahead.
2016-04-15autotools: fix make distcheck.Cedric Bail
2016-04-05eina: add tests for promisesFelipe Magno de Almeida
2016-04-05eina: add promiseFelipe Magno de Almeida
Add a promise object that will allows Eolian interface to include promises as a way to have asynchronous value return and composibility. To understand better, let see the coming usage in a .eo file: class Foo { methods { bar { params { @inout promise: Promise<int>; } } } } Which will create the following API interface: void foo_bar(Eo* obj, Eina_Promise** promise); and the equivalent declaration for implementation. However, the API function will instantiate the Promise for the user and the implementer of the class automatically. So the user of this function will treat it as a @out parameter, while the developer of the function will treat it like a @inout parameter. So, the user will use this function like this: Eina_Promise* promise; // No need to instantiate foo_bar(obj, &promise); eina_promise_then(promise, callback); Signed-off-by: Cedric Bail <>
2016-03-08Revert "eina: split Makefile with files/headers in preparation for ↵Stefan Schmidt
additional per sub directory compilation" This reverts commit 7f4ea1a79c63615bb14051db16e6fe5d90c9bd10. This reverts one of three parts of the try to get sub directory compilation back into eina. It breaks our distcheck though and I talked to Cedric about it and he prefers to revert these as we might need to go another route to bring this functionality back. Details will come to the mailing list.
2016-03-08Revert "eina: rely on GNU make to find file at their correct location."Stefan Schmidt
This reverts commit e26fcbb1dc588c5130e477bf832c59386b1c1951. This reverts one of three parts of the try to get sub directory compilation back into eina. It breaks our distcheck though and I talked to Cedric about it and he prefers to revert these as we might need to go another route to bring this functionality back. Details will come to the mailing list.
2016-03-03eina: rely on GNU make to find file at their correct location.Cedric Bail
2016-03-03eina: split Makefile with files/headers in preparation for additional per ↵Cedric Bail
sub directory compilation
2016-02-16Add efl_check.h to eina unit test files as Eina is mandatoryVincent Torri
2016-01-13eina: add test case for eina_vector2se.osadchy
Summary: Create eina_test_vector and add first test case. Reviewers: cedric, stefan_schmidt Subscribers: jpeg Differential Revision:
2016-01-07Eina: Move vector2 to eina_inline_vector.xJean-Philippe Andre
For consistency. Also, include inside Eina.h Thanks @vtorri for the remark.
2016-01-07Eina Vector2: Move EAPI to static inlineJean-Philippe Andre
This removes lots of unnecessary symbols
2016-01-04evas: create Eina_Vector2 structure and add
Summary: Only copy code from evas_3d_utils, rename evas to eina and add documentation. Reviewers: Hermet, raster, jpeg, cedric Reviewed By: jpeg, cedric Subscribers: jpeg Differential Revision: Signed-off-by: Cedric BAIL <>
2015-12-29Evil: integrate the dlfcn code into EvilVincent Torri
This will remove some incompatibilities with other packages, especially for win-builds
2015-08-21eina: add API to join pahs, as well as path separatorsVincent Torri
eina_str_join() is used a lot to contatenate paths, but the separator should be '\' on Windows. So add 2 API and 2 defines for more cross platform code @feature Signed-off-by: Cedric BAIL <>
2015-08-07eina: add test for Eina_Bezier.Subhransu Mohanty