Commit Graph

113 Commits

Author SHA1 Message Date
Chris Michael f8964fcf2e elput: Initial checkin of elput library
The elput library is an efl abstraction for the libinput library which
can be used by various other subsystems (ecore_fb, ecore_drm, etc) to
handle interfacing with libinput without having to duplicate the code
in each subsystem.

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-04-13 14:16:17 -04:00
Cedric BAIL 1c48b76da8 elementary: restore examples build. 2016-04-08 16:01:07 -07:00
Stefan Schmidt 0a03e63350 build: keep our CLEANFILES tidy to avoid argument list too long during clean
We have been putting the generated eo files and BUILT_SOURCES into CLEANFILES
several times. So far this have not been a real problem but with the elm merge
and more and more eo files showing up this did explode recently.

During make distcheck a lot of files kept being around and make complained about
them. It took some digging to find the arguments list to long error. If you want
details on this great limitation have a look here:
http://www.linuxjournal.com/article/6060

In our case we have been lucky enough that we just appened many files over and
over again. Not doing that solves the issue for now. My testing showed no
problems but if I missed something let me know.

Fixes T3386
2016-03-31 16:29:32 +02:00
Cedric BAIL 5155c2d156 elementary: add back C++ generated binding. 2016-03-28 16:16:15 -07:00
Andrii Kroitor 2ae6307c72 elementary: fix clean installation
Summary:
elocation should be included before elementary otherwise 'make install'
will fail on clean instalation

Test Plan: make uninstall && make install

Reviewers: raster, tasn, stefan_schmidt, cedric

Reviewed By: cedric

Subscribers: reutskiy.v.v, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-03-28 11:23:23 -07:00
Cedric Bail 0f5c30f4f2 elementary: add tests back in. 2016-03-24 11:23:11 -07:00
Cedric Bail 1db421c33e elementary: enable compilation of binary. 2016-03-24 11:23:10 -07:00
Cedric BAIL b0df722819 elementary: initial compilation of the library only. 2016-03-24 11:23:10 -07:00
Tom Hacohen dbdb5b8a33 Examples: Remove eo examples.
Those were always bad, inaccurate and outdated, and are not really needed
because you should be using Eolian, and not Eo directly.
2016-03-03 09:58:08 +00:00
Srivardhan Hebbar 46fd6307b2 emile: Added example program for base64 encoding and decoding.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3554
2016-01-14 11:28:40 +09: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
Chris Michael 61a2c70732 ecore-wl2: Add Makefile for building Ecore_Wl2 library
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Seunghun Lee 8b62177561 ecore-buffer: Add ecore_buffer library to EFL.
Summary:
Ecore_Buffer is abstraction of graphic buffer.
it supports backend of shm, x11_dri2 and x11_dri3 for now,
and this library also provides method to share buffers between processes.
Ecore_Buffer_Provider and Ecore_Buffer_Consumer is for this, sharing buffer.
provider draws something in to Ecore_Buffer, and consumer receives and displays it.
the binary, bq_mgr is a connection maker for buffer provider and consumer.
it can be included Enlightenment as a deamon later.

@feature

Test Plan:
1. Configure with --enable-ecore-buffer and --enable-always-build-examples to build examples.
2. Run bq_mgr, it connects consumer and provider.
3. Run ecore_buffer_provider_example and ecore_buffer_consumer_example

Reviewers: lsj119, gwanglim, cedric, zmike, jpeg, raster, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2197
2015-06-22 10:31:42 -04:00
Daniel Kolesa 97443242c2 autotools: provide smaller EOLIAN_FLAGS for customization 2015-06-01 17:35:39 +01:00
Daniel Kolesa ce65929422 autotools: remove EOLIAN_FLAGS
We don't need to specify each dir separately as Eolian
has been searching recursively for quite a while.
2015-06-01 17:28:45 +01:00
Stefan Schmidt 3d8c0794b8 build: Fix benchmark and exmaples dep on all target as well.
Same as the check-build target I fixed in my previous commit these two need
the all dependency to compile everything needed before being run.
2015-05-11 12:45:44 +02:00
Stefan Schmidt 42e535b086 build: Add correct dependency for check-build target.
We need to build everythign else before. Without this dep running check-build
as first target from a fresh build will fail due to wrong dependency handling
(like no eolian run over the eo files, etc)

Inspired by D2489 from Kabeer Khan.
2015-05-11 12:34:54 +02:00
Stefan Schmidt 2bd6c423d7 build: Pass on makeflags and use proper @$(MAKE)
Going with the build in automake stuff allows us to run this target also in
parallel. Before we got the warning that the jobserver was missing and it
would only run as -j1. Thanks to Tom for spotting and Flameeyes for the blog
post:
https://blog.flameeyes.eu/2010/10/tell-tale-signs-that-your-makefile-is-broken#gsc.tab=0
2015-05-08 15:12:46 +02:00
kabeer khan d00c89de11 autotools: enable make check-build which builds only test suites
Summary: Signed-off-by: kabeer khan <kabeer.khan@samsung.com>

Reviewers: tasn, cedric, stefan_schmidt

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2480
2015-05-08 14:19:48 +02:00
Stefan Schmidt a14f97a06e build: Make sure the ecore_drm Makefile gets included after its dependencies
This problem have been observed by Scimmia22 on the Arch builds as well as on
the jenkins wayland build job. While compiling works fine the relinking during
make install fails with ecore-drm linking does not find eeze or eldbus as its
deps. This only shows on systems with no efl installed, a build from scratch.

As far as I can see we have all dependencies set correctly in configure as
well as in the Makefile which are working fine even in highly parallel builds.
It was a bit surprising here to me that the include order is still important
with our correct dependencies. Autotools wisdom is welcome here to either
explain to me why this is needed or what the correct fix would be.

The includes all moved before Ecore_Evas because that would use ecore_drm if
enabled.

Fixes T2281
2015-04-13 11:39:00 +02:00
Felipe Magno de Almeida 7928609a29 efl: move emodel to be an efl interfaces. 2015-04-05 16:23:38 +02:00
Larry Jr 05eecf5c8f emodel: Created Emodel and Eio_Model. 2015-04-05 15:19:45 +02:00
Cedric BAIL 1be99f87c7 ector: reorder compilation to first do Ector then Evas. 2015-04-03 16:22:24 +02:00
Cedric BAIL b843394912 autotools: add ector in the list of Eolian file provider. 2015-04-03 16:14:59 +02:00
Cedric BAIL 5e75d607c6 ector: initial introduction.
Idea for this library is to become a retained mode drawing library that use
Eo/Eolian for its API and take a lot of the good design from Enesim by
Jorge Zapata and Jose Gonzalez (http://enesim.org/).
2015-04-03 16:14:56 +02:00
Cedric BAIL 0b04186a7f emile: initial introduction of Emile.
The intent of Emile is to be the common layer for serialisation, compression
and ciphering. It will expose the library we currently use internally to an
easier use from the outside (like gcrypt and lz4). It should improve portability.
Instead of pushing JSON, XML and what's not to Eina, I do think that they will
fit better in Emile.

As for the naming of Emile, you will need to be French and say :
"Un quoi ?" "Un serializer !"

Regarding why it is put there in the stack. Right now there is two users of
compression (eet and terminology), two users of cipher library (eet and ecore_con)
and a few handful of user for serialization (eina, eet, efreet, ecore_con, ...).
So the choice was quite simple, it needed to be below Eet. Now it could have been
on top of Eo or integrated into Eina.

One of the use case I am thinking of, is to compress Eo object when a canvas get
hidden/minized. For that it require Eo to use that library and it can't be a higher
level object. And with current implementation of Eo it is perfectly possible to
implement such idea. So not at Eo level.

As for Eina, I am starting to think it is getting to much things in its namespace.
I do believe that infact Eina_Simple_XML and Eina_File should after all have landed
in their own library. That's why I am putting the current logic in a new library.
It is going to expand, I want it to provide an few SAX like parser for JSON,
Eet_Data and protobuf with also an API like Eet_Data to directly feed those value
into a C structure without using a DOM at all. It would also be the right place
to experiment and benchmark for a new Eet_Data format that could be more efficient
to use.

So at the end, and due to how I see things going and being used, I do think it
is better of in its own library.
2015-03-17 09:58:17 +01:00
Cedric BAIL cf52036667 Revert "Add --disable-gui."
This reverts commit 3ed4f74590.
2015-03-17 09:58:17 +01:00
Stefan Schmidt dd6f81ea15 build: Ensure we have $(DESTDIR)$(libdir) during parallel install
While install-exec-hook gets normally executed after install and
thus we would have this we need to ensure it here when we want to
be safe regarding parallel install.
2015-02-25 16:43:35 +01:00
Larry Jr 2b12114777 allow C++ user create new classes inheriting from Eolian generated Classes 2015-01-05 15:52:27 -02:00
Stefan Schmidt a80b88c0ea elocation: Add example for using the elocation API
Basic example to show API usage.
2014-11-11 11:03:23 +01:00
Stefan Schmidt a2d2cdaf9f elocation: Add elocation libraray to EFL.
Elocation is meant as a convenience library to ease application developers
the usage of geo information in their apps. Adding a geo tag to a picture or
translating an address to a GPS position and show it on a map widget are just
some of the use cases.

In the beginning elocation will rely on the GeoClue1 DBus service. Supporting
the new GeoClue2 DBus service is planned and worked on. GeoClue offers
providers for various techniques to get hold off the current position. Ranging
from GeoIP over wifi and GSM cell location to GPS.

This has been developed a while ago and was living in my private dev space.
It is about time to move this into EFL and bring it forward.

The detection of the GeoClue service is being handled on runtime and no new
dependency is added due to this library.

@feature
2014-11-11 11:02:08 +01:00
Daniel Kolesa f33101ea8c elua/autotools: generate .eo.lua files out of all eo files at build time
Also change the generator a bit so that it doesn't rely on lib name information
and fix the runtime to properly source lua files within tree.
2014-10-06 13:28:09 +01:00
Felipe Magno de Almeida 30fa700599 [cxx] Fixed distclean when the C++ binding is enabled
The C++ examples were being added twice. So the make distclean was tried after the Makefile was already removed.

Removes the EXAMPLES_SUBDIRS redundancy for the C++ examples.
2014-09-30 12:47:20 -03:00
Cedric BAIL 48ee3ed15f autotools: extra dist subdirs must be filled with all directory.
It is important to remember to also include the one we don't build.
2014-09-09 12:27:51 +02:00
Tom Hacohen 218e76fd30 Ecore con: Start migration to eo. 2014-08-22 17:00:49 +01:00
Tom Hacohen 3a468f7ad3 Efl interface file: Start using the new interface. 2014-08-21 11:02:11 +01:00
Tom Hacohen 2f9d1dc69e Efl: Create Efl_Cxx makefile and headers. 2014-08-21 11:02:10 +01:00
Tom Hacohen b0b533fcb1 Efl: Create libefl.
Create libefl.so and the interal package for dependencies.
2014-08-21 11:02:10 +01:00
Cedric BAIL b91012f62c autotools: try to simplify our Makefile.am to reduce warnings. 2014-08-12 11:19:57 +02:00
Vincent Torri 9631585f24 efl: remove Windows CE support 2014-07-13 15:17:17 +02:00
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