Commit Graph

60 Commits

Author SHA1 Message Date
Tom Hacohen e64e120a51 Eo: Rename most of Eo to the Efl prefix.
This includes Eo.Base -> Efl.Object and many (but not all) of the eo
functions. This commit is only for eo itself, not the rest of the EFL.
2016-08-11 17:04:43 +01:00
Stefan Schmidt 00227b81f4 build: do not dist now longer available files
Another cleanup for commit dd1d3f0d2d. These
makefiles are now longer available better not try to dist them.
2016-08-02 08:32:13 +02:00
Stefan Schmidt fffe6dc7b8 build: clean generated js and lua files manually to avoid problems with CLEANFILES
We hit another argument too long error with CLEANFILES. Moving the generated
files for js and lua into separated variables and cleaning them manually fixes
the issue.
2016-06-21 17:07:13 +02:00
Stefan Schmidt 93eadd76d6 build: split EXTRA_DIST files in src/ off from DISTFILES and handle separately
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-06-10 13:04:18 +02:00
Stefan Schmidt 9fdbbfa7a6 build: keep our CLEANFILES tidy to avoid argument list too long during clean
This is a new incarnation of 0a03e63350. Our list
has grown to big again as people insist of adding the generated eolian files to
DISTCLEAN while BUILT_SOURCES will get removed durign the clean anyway.

Adding this file list twice will just make the argument list for rm to long to
work.
2016-06-01 17:51:56 +02:00
Felipe Magno de Almeida e3c8b280c6 c++: Reorganized C++ binding generation
Moved all generation to a single Makefile_Cxx.am file instead of
throughout the whole project. And fixed C++ generation on Elementary
after elm merge.
2016-05-23 15:05:50 -03:00
Tom Hacohen 06f65ab2b1 Eo: Implement eo_override() to enable overriding functions of objects.
This change lets you override the functions of objects so that those
functions will be called instead of the functions of the class. This
lets you change objects on the fly and makes using the delegate pattern
easier (no need to create a class every time anymore).
You can see the newly added tests (in this commit) for usage examples.

@feature
2016-05-20 10:25:00 +01:00
Tom Hacohen 96624b9725 Eo: Fix singleton pattern and add a test to make sure it works. 2016-05-18 13:31:30 +01:00
Tom Hacohen 6cacef2503 Eo abstract class: Rename to Eo.Class. 2016-05-12 14:33:40 +01:00
Cedric Bail fdaedf2bff autotools: fix make distcheck. 2016-04-15 11:07:02 -07:00
Tom Hacohen 4a75116cb4 Eo: Implement the fallback eo_add implementation.
The current eo_add uses a (very useful) gcc extension that is only
available in gcc compatible compilers (e.g clang). Until this commit we
just temporarily ignored this fact. This adds a fallback implementation that
can be used interchangeably with the non portable one. This means that the
same binary can call either at any point in time and the code will work.

Breaks ABI.
2016-03-29 16:01:52 +01:00
Tom Hacohen a761171009 Eo: Add an interface for other interfaces to inherit from. 2016-02-29 12:08:33 +00:00
Felipe Magno de Almeida a3db1dddd3 efl-js: JavaScript Eolian binding
To configure efl sources with bindings to use in nodejs add ––with-js=nodejs in configure flags to generate node files

$ configure --with-js=nodejs

and compile normally with:

$ make
$ make install

To use, you have to require efl:

efl = require('efl')

The bindings is divided in two parts: generated and manually
written. The generation uses the Eolian library for parsing Eo files
and generate C++ code that is compiled against V8 interpreter library
to create a efl.node file that can be required in a node.js instance.

@feature
2015-12-23 23:59:40 -02:00
Tom Hacohen 3c27a05c4f Eo: Add eina_types.eot for general types. 2015-05-29 11:39:04 +01:00
Stefan Schmidt d48c5accea Revert "autotools: enable make check per individual modules."
This reverts commit 35119e7bfd.

Reverted to bring make check back in a working state. Also the way we
want to handle a more modular testing needs discussion.
2015-05-07 20:50:56 +02:00
kabeer khan 35119e7bfd autotools: enable make check per individual modules.
Currently make check runs tests of whole EFL.Enabled running
of tests of individual modules by make check-<modulename>

Signed-off-by: kabeer khan <kabeer.khan@samsung.com>
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:07 +02:00
Jérémy Zurcher 18ceed4daf Eo: protect against recursive object destruction calls, fixes T1741
Summary:
    Eo: semantic obj->del replaced by obj->destructed
    Eo: protect against recursive object destruction calls
    Eo: add tests for bfada4b

Reviewers: JackDanielZ, tasn

Reviewed By: tasn

Subscribers: cedric

Maniphest Tasks: T1741

Differential Revision: https://phab.enlightenment.org/D1675

Fixes T1741

@fix
2014-11-18 15:25:34 +00:00
Daniel Zaoui 4b47eff6e3 Eolian: fix generated Eo files installation.
make distcheck was failing on trying to write to a read only file.
2014-10-20 12:20:15 +03:00
Savio S. Machado ba131c2dea autotools: Fix Makefile_Eo.am.
Autotools was deploying .eo.{c,h} instead of the .eo files to
${E_PREFIX}/share/eolian/include/eo-1. This patch fix Elementary build
and whoever else was using Eolian and Eo.Base.
2014-10-04 04:40:15 +08:00
Tom Hacohen 23143148f1 Build system: Clean up the generation of sources from eolian.
This cleans up a lot of the build system. This makes everything
consistent, clean, less redundant and also fixes the issue of make clean
not cleaning up generated files.
2014-10-02 16:54:08 +01:00
Tom Hacohen 6eb3bda426 Eo base: Start generating eo_base from the .eo file. 2014-06-03 11:28:02 +01:00
Tom Hacohen 10626ff538 Eo: Fix and use the abstract class .eo file.
Until now it was just there, but never generated or used.
2014-06-03 09:19:19 +01:00
Lukasz Stanislawski 80b1ca8e43 eo: fix broken children iterator, remove redundant fields.
@fix

Summary: Tests added.

Reviewers: raster, JackDanielZ, tasn

CC: cedric

Differential Revision: https://phab.enlightenment.org/D763

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2014-04-17 19:36:12 +02:00
Tom Hacohen 8c025ee4d9 Eo: Renamed eo files from eo2* to eo*. 2014-04-10 04:20:21 +01:00
Tom Hacohen 3c46e7dab8 Eo2: Removed a lot of Eo1 code. 2014-04-10 04:20:21 +01:00
Jérémy Zurcher 4b9c37501c eo2: add tests for thread safe call stack
Summary:
   2 threads run 'eo2_do(o, a(), b());'
   - A goes first, creates an object, enters 'eo2_do(o, a(), b());'
     in a() call, it blocks, releases B and waits for it.
   - B when released, creates an object, enters 'eo2_do(o, a(), b());'
     in a() call, it joins and releases A, then blocks.
   - A returns from a(); and enters b() using current call stack frame,
     which is the one pushed by B! then pop the frame and releases B.
   - B does as above using the stack pushed by A!
2014-04-10 04:20:21 +01:00
Jérémy Zurcher 2fb5a54610 eo2: add tests for method call error msgs 2014-04-10 04:20:20 +01:00
Jérémy Zurcher d23b9ffd23 eo2: tests: extract mgs checks into eo_error_msgs.c|h 2014-04-10 04:20:20 +01:00
Jérémy Zurcher eb01d1c3e8 eo2: add EO2_CLASS_CLASS 2014-04-10 04:20:18 +01:00
Tom Hacohen ca5221e0f9 eo2: compile eo2_base_class when compiling libeo. 2014-04-10 04:20:16 +01:00
Tom Hacohen d52faf7d31 Eolian: Set eolian_flags in .pc files and ship .eo files. 2014-03-13 09:55:29 +00:00
Daniel Zaoui c8dc39c9ae Eolian: fix for nightly make distcheck.
Hmm, I forgot to add some .eo files to the EXTRA_DIST so they have not been
added inside the archive.
Eolian couldn't generate C files because of these missing files.
2014-03-10 16:59:46 +02:00
Jérémy Zurcher 1648b67c5b eo: add EO_CLASS_CLASS
it's an empty class without operations,
used as a return value for eo_class_get() when the caller is a class
2013-10-13 00:00:13 +02:00
Cedric Bail c435968f69 eo: a little more inlining, give me a 10% speed improvement. 2013-07-01 18:18:40 +09:00
Jérémy Zurcher 94845627b5 Revert "eo suite: add ptr indirection coverage test"
This reverts commit 88cf0cf460.
already covered in eo_test_general.c
2013-05-07 00:03:59 +02:00
Jérémy Zurcher 88cf0cf460 eo suite: add ptr indirection coverage test 2013-05-03 21:13:03 +02:00
Tom Hacohen a26ed054a9 Eo: Added test to the special eina value type. 2013-04-24 16:45:41 +01:00
Carsten Haitzler daac3fb794 add a global Efl_Config.h for everyone.
* ned to replicate changes in other .pc.in files
* need to replicate changes in other E*.h installed header files
2013-04-24 23:43:33 +09:00
Daniel Willmann a87fc36b12 eo: Lets fix make distcheck by including eo_ptr_indirection header
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-24 14:05:06 +01:00
Daniel Zaoui 337fac0e73 Eo: pointers indirection mechanism for objects and classes
Summary: This feature replaces Eo pointers with ids to prevent bad usage
or reuse of these pointers. It doesn't change API.
The mechanism uses tables storing the real pointers to the objects.
See the src/lib/eo/eo_ptr_indirection.c file for more details on the
mechanism.
2013-04-23 09:50:40 +03:00
Tom Hacohen 3ba9311c0f Tests: Output XML to build dir, not source dir. 2013-03-12 12:46:06 +00:00
Stefan Schmidt 85810dac8c tests: Add xml output file for check runs for the use with jenkins.
We can do pretty graphs with jenkins about our unit tests. But we
need the check xml output for that. Enabling it in all suites.
2013-03-12 09:59:06 +00:00
Cedric BAIL ceed029a84 Eo: do not add the test when not building them.
Test can only be build if they are enable. Moving them inside the if
so we don't get annoying error when make check is run without tests
being turned on.
2013-02-18 14:38:33 +01:00
Tom Hacohen 21a6a84667 Eo: Changed NDEBUG to EO_DEBUG.
This was stupid from the start, but now it casuse even more issues.
We'll have to just add a configure option to it when the time comes.

SVN revision: 82989
2013-01-18 16:57:57 +00:00
Tom Hacohen 7b9e24bef4 Eo tests: Run all the eo testing suites.
SVN revision: 82988
2013-01-18 16:13:34 +00:00
Tom Hacohen 37efa5efd7 Eo tests: Fix function overrides test to not test some things when NDEBUG is used.
SVN revision: 82987
2013-01-18 16:13:30 +00:00
Lucas De Marchi 1d295abac0 efl: use autotools testsuite for running tests
Instead of just making our own "check-local" and calling the binaries
ourselves, just append them into "TESTS" variable. Then they run after
all check_PROGRAMS are compiled.

The reasons for changing are:
  1) If we change the test and call "make check" the test is not
  compiled again -- and the only way to compile it is to "make clean".
  2) There's no need to reinvent the wheel here.

With a recent version of Automake, the test output is redirected to log
files. This is good but unexpected for whom was used to the previous
way. So, be warned.



SVN revision: 82841
2013-01-15 20:51:04 +00:00
Gustavo Sverzut Barbieri b1bc5aeb24 efl: simplify automake.
Instead of -I$(top_srcdir)... -I$(top_builddir)... and then do it for
the .la, use the EFL_ macros to generate the contents to be used in
automake files.

There is a nasty bit that libtool will parse Makefile*.am and will not
get _DEPENDENCIES from _LIBADD and _LDADD if these are in
@REPLACEMENT@. To solve this we must explicitly set _DEPENDENCIES. The
contents of this is almost the same as _LIBADD or _LDADD with the
"_INTERNAL_" replacement name.

I hope the code will be result will be shorter and consistent as there
is less places to change when we add/remove dependencies.

Statistics are quite impressive (diffstat):
{{{
37 files changed, 663 insertions(+), 1599 deletions(-)
}}}



SVN revision: 82785
2013-01-14 22:36:23 +00:00
Gustavo Sverzut Barbieri df1b3d30c4 efl: refactor CFLAGS, LIBS, LIBADD and LDADD usage.
- remove EFL_LIBS and EFL_CFLAGS, use per-lib values that inherit
   from EFL (general)

 - add NAME_LDFLAGS and EFL_LDFLAGS for linker flags.

 - LDADD (binaries) now use NAME_LDFLAGS instead of NAME_LIBS, as they
   link to libname.la and that will pull in the libtool dependencies



SVN revision: 81915
2012-12-31 00:46:14 +00:00
Gustavo Sverzut Barbieri 493f9a9ff9 efl: unify LDFLAGS for LTLIBRARIES
SVN revision: 81911
2012-12-30 22:15:29 +00:00