Commit Graph

73 Commits

Author SHA1 Message Date
Savio Sena 1ede3cc69f autotools: Removed duplicate from src/Makefile.am. 2014-07-03 13:54:54 -03:00
Felipe Magno de Almeida 30df128be5 eldbus-cxx: Implementation of eldbus C++ API
Summary:
Applications can:

  void method_callback(void* data, const Eldbus_Service_Interface* iface,
                       const Eldbus_Message* message);
  struct { ... } data_struct;

  Eldbus_Method methods[] =
   {
     "method1", ELDBUS_ARGS("b", "bool"), ELDBUS_ARGS("b", "bool"), ELDBUS_METHOD_FLAG_HAS_DATA
     , (Eldbus_Method_Cb)&method_callback, &data_struct
   };

   And method_callback will be called with data parameter pointing to data_struct global object.

Also, Eldbus-cxx supports registering an interface passing a lambda or
function object as method. For example:

  edb::service_interface iface = edb::service_interface_register
    (c, path, interface
     , es::method("SendStringAndBool"
                  , [expected_string, expected_bool] (std::string const& n, bool b
                                                      , bool* out)
                  {
                    std::cout << "Running SendStringAndBool" << std::endl;
                    ck_assert(n == expected_string);
                    ck_assert(b == expected_bool);
                    *out = b;
                    return n;
                  }
                  , es::ins<std::string, bool>("string", "bool")
                  , es::outs<std::string, bool>("string", "bool")
                  )
    );

When a request for "SendStringAndBool" with the proper signature is
called, executes the lambda and replies with the return value and
its bool* out parameter value.

Reviewers: cedric, woohyun, raster

CC: savio, cedric

Differential Revision: https://phab.enlightenment.org/D1052
2014-07-03 16:28:23 +09:00
Daniel Kolesa 09a079cb10 autotools: do not use sed -i 2014-07-02 22:16:16 +01:00
Daniel Kolesa 4e1b33f9f0 autotools: seems like GNU sed is incompatible... will fix later 2014-07-02 21:41:53 +01:00
Daniel Kolesa df0ae2881c autotools: so it seems like the space is required after all. 2014-07-02 21:07:22 +01:00
Daniel Kolesa 5acd33c20c autotools: sed portability 2014-07-02 21:02:48 +01:00
Daniel Kolesa 876adb13e5 elua: extra cond 2014-06-10 15:48:52 +01:00
Daniel Kolesa 91ba672609 elua: preparation for lua file generation 2014-06-10 15:48:52 +01:00
Daniel Kolesa 832f652a5a Elua: initial commit
Elua is a LuaJIT based runtime for the EFL meant to provide facilities for rapid application development. The name is temporary. The EFL bindings will be generated with Eolian. @feature
2014-06-10 15:48:46 +01:00
Guillaume Friloux 3ed4f74590 Add --disable-gui.
This allows people to disable the building of anything GUI related.
In my case, it is used for servers.

I encourage anyone that think they can do a better patch to improve it,
as i dislike having to add all those AM_CONDITIONAL().

Maybe the macros should be improved.
2014-06-05 13:40:44 +02:00
Felipe Magno de Almeida 0a6a3deaee eolian_cxx: removes C++ examples when C++11 isn't supported
Summary:
Added HAVE_CXX11 guards to Makefile*.am files for C++ binding to avoid
compilation errors for examples when C++11 isn't supported. This also
disable installation of all EFL CXX pkgconfig files.

Reviewers: cedric, stefan, stefan_schmidt

CC: cedric, savio

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

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2014-05-09 12:43:43 +02:00
Felipe Magno de Almeida 8149823897 eolian-cxx: fix make distcheck and automake files for Eolian C++
Summary:
Fixed distcheck for Eolian C++. Made the generated files as
nodist so it doesn't get picked up for generation way too
early.

Reviewers: cedric, seoz

CC: cedric

Maniphest Tasks: T1220

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

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2014-05-04 12:21:30 +02:00
Savio Sena 46b6e8a563 eolian_cxx: initial version of the EFL C++ Bindings Generator.
Summary:
This patch adds 'eolian_cxx' -- a C++ bindings generator --
to the EFL tree. Eolian Cxx uses Eolian API to read .eo files and generate
.eo.hh. It relies/depends on Eo Cxx and Eina Cxx (both non-generated
bindings).

src/bin/eolian_cxx: The eolian_cxx program.
src/lib/eolian_cxx: A header-only library that implements the C++ code
generation that binds the .eo classes.

=Examples=

src/examples/eolian_cxx/eolian_cxx_simple_01.cc: The simplest example,
it just uses some "dummy" generated C++ classes.

src/examples/eolian_cxx/eolian_cxx_inherit_01.cc: Illustrates how
pure C++ classes inherit from .eo generated classes.

src/examples/evas/evas_cxx_rectangle.cc: More realistic example using
the generated bindings Evas Cxx. Still a bit shallow because we don't
have full fledged .eo descriptions yet, but will be improved.

=Important=

The generated code is not supported and not a stable API/ABI. It is
here to gather people interest and get review before we set things in
stone for release 1.11.

@feature

Reviewers: cedric, smohanty, raster, stefan_schmidt

CC: felipealmeida, JackDanielZ, cedric, stefan

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

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2014-05-03 00:56:32 +02:00
Yossi Kantor 2c8bc8df52 Eolian: Integration of Ecore Audio In 2014-04-02 15:56:14 +03:00
Cedric BAIL b56d7bba60 evas: add benchmark for TGV loader and saver. 2014-04-01 22:00:14 +09:00
Felipe Magno de Almeida ab3eb4b2d3 eet-cxx: add implementation for eet C++.
Usage example:

  struct type
  {
    int foo;
    float bar;
  };

  type t0;

  auto descriptor = make_descriptor("type", &type::ofo, &type::bar);

  eet_data_write(file, descriptor.native_handle(), "type", &t0, false);

  std::unique_ptr<type> p = read_by_ptr(file, "type", descriptor);
  type t = read(file, "type", descriptor);

@feature

Reviewers: cedric, smohanty

Reviewed By: cedric

CC: savio, cedric

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

Signed-off-by: Cedric BAIL <cedric.bail@free.fr>
2014-04-01 22:00:13 +09:00
Yossi Kantor 2be615916a Eolian: Integration of Edje and Edje Edit 2014-03-24 08:14:30 +02:00
Daniel Zaoui e5be817b7f Eolian: Fix path to .eo 2014-03-09 13:19:07 +02:00
Daniel Zaoui a3e38d7884 Eolian: generation of the first Eo file.
The first object that we generate with Eolian is Evas_Line, as it is a
simple one.
Two files are generated during build:
- the .eo.c contains the APIs definitions invoking Eo, the Eo functions
extracting the parameters and calling the hand written functions and
Eo structures to define the objects. These hand written functions are
located in e.g evas_object_line.c.
- the .eo.h contains the APIs and Eo prototyes.

We will continue with the other objects. If you note something wrong,
please update us asap:
daniel.zaoui@samsung.com
yossi.kantor@samsung.com
2014-03-06 15:12:51 +02:00
Tom Hacohen b5f0df20dc Eolian helper: Fixed rule dependency to correctly depend on eolian_gen.
Without this change, bootstrapping doesn't work as well.
2014-03-06 15:12:51 +02:00
Chris Michael 5938f486f3 ecore-drm: Add Ecore_Drm to main Makefile
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-06 11:17:01 +00:00
Tom Hacohen 5a4f68d472 Eolian: Added eolian to the build system. 2014-03-03 14:09:53 +02:00
Felipe Magno de Almeida 91f5a9b043 ecore_cxx: add main_loop_thread_safe_call_sync and main_loop_thread_safe_call_async with tests
The point of this binding is to enable the support for easy lambda for ecore function
that wont be using Eo. See the tests on how to use those.

Reviewers: cedric, raster

CC: savio, cedric

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

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2014-02-26 18:52:08 -03:00
Felipe Magno de Almeida f279225a63 eina: add a C++ bindings to Eina @feature.
The goal of this library is to make the life of C++ developers easier
when having to manipulate Eina datatype by providing a layer to abstract
those data type in C++. Check examples for now. Documentation will come
soon, but we are pushing that rather sooner to get feedback on those bindings.

As you will notice, this library is just composed of headers. There is no .so
and we do think it is better this way. Reducing ABI and API stability issue for
applications developers who are the primary target of this binding.

Also please note that you will need to have C++11 to use this binding.

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2014-02-25 18:05:01 -03:00
Cedric BAIL 0a1cc79a91 Ecore_Avahi: initial commit.
TODO:
- Add tests, how ?
- Integrate with Eo, needed ?
2013-12-17 19:37:05 +09:00
Cedric Bail de7b7f381c build: fix installing in DESTDIR for packaging and buildbot.
This should fix T628 .
2013-12-09 10:57:12 +09:00
Cedric Bail 52f98559a9 efl: remove uuid from all libtool files.
This change is needed for windows as this library is statically linked into
evil, but libtool doesn't get it.
2013-12-08 11:50:54 +09:00
Carsten Haitzler b07c0a76ce alpha1 release autofoo/build tree work to pass distcheck and actually work 2013-11-04 18:33:35 +09:00
Daniel Willmann b0c9d1f818 examples: Make make return an error if one of the examples fails compile
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-07-11 09:55:02 +01:00
Cedric Bail 753978e65d efl: $(DESTDIR) already has '/' 2013-05-06 19:05:44 +09:00
Cedric Bail 019a8b8298 eeze: handle its intall hook correctly. 2013-05-05 17:25:48 +09:00
Cedric Bail 433e123428 efl: force problematic -luuid to go away from .la 2013-05-05 16:03:53 +09: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
Lucas De Marchi 4e3804041f Rename edbus->eldbus
git grep -l edbus2 | while read f; do sed -i 's/edbus2/eldbus/g' "$f"; done
find . -name '*edbus2*' -exec rename edbus2 eldbus {} \;

git grep -l "EDBUS" | while read f; do sed -i 's/EDBUS/ELDBUS/g' "$f"; done
git grep -l "EDBus" | while read f; do sed -i 's/EDBus/Eldbus/g' "$f"; done
git grep -l "edbus (v2)" | while read f; do sed -i 's/edbus (v2)/eldbus/g' "$f"; done
git grep -l "Edbus" | while read f; do sed -i 's/Edbus/Eldbus/g' "$f"; done
git grep -l "edbus" | while read f; do sed -i 's/edbus/eldbus/g' "$f"; done

find . -name '*edbus*' -exec rename edbus eldbus {} \;
find . -name '*EDBus*' -exec rename EDBus Eldbus {} \;
2013-04-23 12:36:29 -03: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
Ricardo de Almeida Gonzaga 825df518a9 efl: now if an error occurs on install-examples, the build will stop
Patch by: Ricardo de Almeida Gonzaga <ricardo@profusion.mobi>



SVN revision: 83796
2013-02-08 17:35:31 +00:00
Gustavo Sverzut Barbieri 15af942bf7 make clean should also delete gcda files from lcov
SVN revision: 82998
2013-01-18 19:50:00 +00:00
Gustavo Sverzut Barbieri 4d050b6d4e fix distcheck.
it was failing:
 - leaving missing objects (.edj, .la)
 - eo was not building its examples automatically with --enable-always-build-examples
 - make dist with '--enable-always-build-examples' was not including 'src/examples'

plus lots of ignored files due test changes.



SVN revision: 82894
2013-01-16 18:28:43 +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 26ea7a5603 fix distcheck.
if we're building examples we must build current dir (src) before
recursing.



SVN revision: 82838
2013-01-15 19:19:36 +00:00
Gustavo Sverzut Barbieri 720a81d58c move ecore_imf_evas out of ecore_imf.
SVN revision: 82837
2013-01-15 19:11:01 +00:00
Gustavo Sverzut Barbieri c4e163fe4a move ecore_input_evas out of ecore_input.
we don't need this mess anymore :-P



SVN revision: 82836
2013-01-15 18:59:28 +00:00
Gustavo Sverzut Barbieri d97c63e4c6 fix directory structure: move ethumd_client out of ethumb.
it's another library, do not mix stuff as it used to be.




SVN revision: 82835
2013-01-15 18:10:58 +00:00
Gustavo Sverzut Barbieri 3815810b1a clean up benchmark and example rules.
- they have no 'all' rule, keep out of SUBDIRS

 - they depend on 'all-am', the non-recursive target that builds everything.

 - they do not need a directory on its own to declare nothing.x



SVN revision: 82689
2013-01-12 07:38:26 +00:00
Gustavo Sverzut Barbieri 34f5315141 merge ethumb.
This one was a painful bitch. The edbus2 port was quite broken, mainly
leaking eina_stringshare and also not adding the '\0' to the strings
that are represented as bytearray (paths cannot be utf8 to avoid
translations).

Emotion plugin was also quite bogus and the video thumbnail as edje
(animated) is not working yet due bug in Edje_Edit api -- someone
needs to investigate this, seems strange.

Emotion plugin also had a bug that it was deleting the object from
inside object callback.

Now it seems to work. Please report if it does not.



SVN revision: 82675
2013-01-12 01:15:45 +00:00
Tom Hacohen 88ab486e63 Efl static_libs: Updated liblinebreak -> libunibreak.
SVN revision: 82652
2013-01-11 18:16:09 +00:00
Gustavo Sverzut Barbieri dfb84c1657 efl: merge emotion.
this one was quite a huge work, but hopefully it's correct.

NOTES:
 * removed vlc generic module, it should go into a separate package.
 * gstreamer is enabled by default (see --disable-gstreamer)
 * xine is disabled by default (see --enable-gstreamer)
 * generic is always built statically if supported
 * gstreamer and xine can't be configured as static (just lacks command line options, build system supports it)
 * v4l2 is enabled by default on linux if eeze is built (see --disable-v4l2)
 * emotion_test moved to src/tests/emotion and depends on EFL_ENABLE_TESTS (--with-tests), but is still installed if enabled.

TODO (need your help!):
 * fix warnings with gstreamer and xine engine
 * call engine shutdown functions if building as static
 * remove direct usage of PACKAGE_*_DIR and use eina_prefix
 * add eina_prefix checkme file as evas and others
 * add support for $EFL_RUN_IN_TREE
 * create separate package for emotion_generic_modules
 * check docs hierarchy (doxygen is segv'in here)



SVN revision: 82501
2013-01-10 03:43:32 +00:00
Gustavo Sverzut Barbieri 2b29626d8d efl: fix make dist.
Carefully compared 'svn export' and 'make dist' results and couple of
files were missing.

Changes:

 * Makefile.am: removed all .pc from EXTRA_DIST, we shouldn't
   distribute them here as they will contain ./configure data such as
   install location.
 * src/Makefile.am: moved all if-endif to files, otherwise EXTRA_DIST
   won't work properly. We must EXTRA_DIST outside of the if-endif
   block.
 * static_libs/liblinebreak: removed couple of unused files.




SVN revision: 82241
2013-01-04 20:55:12 +00:00
Gustavo Sverzut Barbieri 9ea2ce1041 efl: merge edje.
this is still in progress, mostly the multisense stuff is pending.

it seems that when we merge ecore_audio in edje the libremix and
similar are gone, at least from Edje, and will be in ecore_audio
itself (or pulseaudio).

Changes:
 * __UNUSED__ to EINA_UNUSED
 * binaries (epp, embryo_cc, edje_cc) now consider EFL_RUN_IN_TREE and
   will assume the binaries are still not installed, running from
   build tree location (needs more testing, maybe doesn't work with
   srcdir != builddir, still doesn't solve cross compile builds)



SVN revision: 82139
2013-01-04 02:08:14 +00:00
Gustavo Sverzut Barbieri 9e0788cc2e efl: merge ephysics
changes:
 * __UNUSED__ -> EINA_UNUSED
 * Fixed doc hierarchy



SVN revision: 82126
2013-01-03 22:10:40 +00:00