Commit Graph

127 Commits

Author SHA1 Message Date
Stefan Schmidt 864ea76a2d build: enable examples build during distcheck
No example should be left behind. Make sure we run the build for them during
distcheck so we can be sure we did not introduce any build problems here.
2016-07-25 18:00:42 +02:00
Cedric BAIL 1dcccfdf81 autotools: use DISTCLEAN rules to properly destroy files. 2016-06-03 11:11:05 -07:00
Cedric BAIL 776e3ae28c autotools: we can't destroy this files as it break a make clean all cycle. 2016-06-02 10:42:21 -07:00
Stefan Schmidt 0cea935d47 build: fix distcheck by removing files manually
These files are not getting cleaned up as they are not integrated into the rest
of our build system. These are the extra makefiles to build build only eina, eo,
etc.

The trick with -C clean does not work here for me and this is the only way I
found to get a distcheck going through. Which is kinda important given we want to
do the first alpha tarballs for 1.18 next Monday.
2016-06-01 17:51:57 +02:00
Jean Guyomarc'h fc74475415 autotools: improve libunwind detection
Libuwind may not be shipped with a pkg-config file.
It can be distributed on the system, but the autotools
would fail to detect it because it relied only on pkg-config.

We now first check with pkg-config, and then try to compile and
link a program using libuwind to see if it is supported anyway.

This is a first step towards a working eina_log_backtrace on
Mac OS X.
2016-05-28 19:14:16 +02:00
Chris Michael a0d3b955bf ecore-drm2: Add start of Ecore_Drm2 library
This new library is going to replace the existing Ecore_Drm. This will
refactor a lot of the code, bring improvements over the existing API,
and provide additional support for missing features.

@feature

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-27 11:57:53 -04:00
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 8330c20868 elementary: install elementary cxx pkgconfig file.
T3397
2016-04-01 13:55:11 -07:00
Cedric BAIL 196455c7a3 elementary: add config back in. 2016-03-30 14:15:15 -07:00
Yakov Goldberg 1cf4184618 elementary: fix installation of cmake config files 2016-03-27 15:01:21 +03:00
Stefan Schmidt c352c504a5 build: make sure elementary.pc file gets actually installed
It was missing from the Makefile and thus not installed. Thanks Scimmia for
bringing this up.

ref T3361
2016-03-25 18:32:07 +01:00
Nicolas Aguirre 290fc88e3f evas: add eglfs evas module.
EGL Fullscreen is a module intended to support many proprietary GL driver that come
with custom API to create framebuffer/window. This one is starting by covering Android
with libhybris/hwcomposer. Later on, it should be able to support easily the Raspberry Pi
driver.

At this moment this does not work properly. Activate it at your own risk ! Do not report
bug if you don't know what you are doing :-) A backend for Ecore_Evas will come later on
along with a patch for Ecore_FB to use libinput. Finally a few patch should hopefully
enable this backend to work and compile more easily (relying on proper header detection
and dlopen/dlsym for access to proprietary function).

You can read more about the goal of this patch by reading our wiki at :
https://phab.enlightenment.org/w/boot2efl/

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-03-18 10:17:49 -07:00
Stefan Schmidt 3666d14980 build coverage: make coverage numbers more accurate by using a baseline
The lcov tool offers the functionality to have an initial run over the code base
before the tests are executed to make sure it catches all files, even the ones
that are not loaded during the test run.

This is something we missed so far. The reports have only been in relation to
the files that actually have been loaded during the test. We missed quite a
few files which made our numbers inaccurate. Things like
modules/emotion/gstreamer1 have no tests yet and thus never showed up in the
coverage report. While it has 103 functions and over thousand lines which need
to get covered. With the baseline this is handled now. Thanks goes to the folks
at LibreOffice who described their lcov setup here:
https://wiki.documentfoundation.org/Development/Lcov

New numbers are lower now as we count in all the files never loaded which
decreases our percentages.

Overall coverage rate:
  lines......: 30.2% (65119 of 215841 lines)
  functions..: 34.0% (6361 of 18733 functions)
  branches...: 23.6% (35627 of 151096 branches)
2016-03-09 23:31:27 +01:00
Stefan Schmidt 0dca76798e build: finally enable branch coverage in our lcov-check target
This has been a long standing issue and I finally figured out the details to
get this working. Since we started with coverage there always have been some
problems to get branch coverage work (problems with older gcc versions, lcov
not taking them into account, etc)
The last detail that made me go nuts was that in my lcov version (1.10) there
is a bug which leads to geninfo not applying the config file and thus not
enabling the branch coverage like I defined in the config. I added the
--rc option to work around this case.

In my local run I get this now from lcov-check:
Overall coverage rate:
  lines......: 35.5% (65814 of 185169 lines)
  functions..: 44.6% (7661 of 17195 functions)
  branches...: 22.7% (31492 of 138942 branches)

So we have 22.7% branch coverage right now.

The vivid followers of my QA mails will also see the difference in numbers for
line and function coverage if one comapres my local results and the one on
Jenkins. This is another long standing issue and I need to figure out these
details next. :)
2016-03-04 12:44:29 +01:00
Stefan Schmidt 7c79165b53 build: fix problems with coverage check build where some files are not found
Switch to use a lcov config file which geninfo_auto_base and remove hard coding
the base dir  to src/lib. geninfo_auto_base is designed for a use case like
ours where we have several base dirs (lib, bin, tests, ...) and it detects them
automatically. This fixes failures in a coverage run where the file is simply
looked for in the wrong directory.
2016-03-02 13:16:20 +01:00
Stefan Schmidt 09d0b53b94 build: enhance generated html output from coverage report
We do not handle branch coverage so remove that part of the output. On the
other hand at a legend to allow people to understand the color meanings.
2016-03-02 13:16:20 +01: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 0049b282cb ecore-wl2: Add pkgconfig file for Ecore_Wl2 library
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Marcel Hollerbach 9218241da6 cmake: Add a helper script which defines generator rules for eo files
eo_rule_create adds rules to generate to .eo.x .eo.h .eot.h files.
It also monitors its deps.

@feature
2015-11-25 13:22:19 +01:00
Srivardhan Hebbar e5a9c7844f ecore_con: add http_parser static lib.
Summary:
This lib would be used in efl_network_websocket.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

Reviewed By: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-11-09 15:52:15 -08:00
Nicolas Aguirre d990a7b12a Revert "Adds support of the eglfs module in the autotools config"
This reverts commit 3b2074aa71.
2015-08-03 14:34:57 +02:00
Florent Revest 3b2074aa71 Adds support of the eglfs module in the autotools config 2015-08-03 14:16:35 +02:00
ChunEon Park a0a038681c specify ector licenses. 2015-07-31 16:25:42 +09:00
Seunghun Lee eff0e37947 ecore-buffer: fix that installing pkgconfig when ecore_buffer is enabled.
Summary: ecore-buffer.pc file should be installed when ecore_buffer is enabled.

Reviewers: gwanglim, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2761
2015-06-24 15:18:12 +02:00
Carsten Haitzler 5abfefe99e efl - efreetd service move from dbus session bus to ecore ipc
this fixes warnings about no efreet dbus session bus in non session
environments as brought up on the mailing lists with:

Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: edje: unset
efreet cache update flag to prevent dbus connections

this moves all of efreetd client and server to ecore ipc, with client
auto-launching efreetd if not found as a service and trying for up to
500ms to connect. efreetd times out on last connection or no
connections after 10sec so it wont hang around forever if not in use.
it seems to work in my testing, so let me know if there is an issue.

@fix
2015-06-24 19:28:17 +09: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
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 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
Felipe Magno de Almeida 4ecdac9302 efl interfaces: Fix conditional for generation for pkgconfig for C++
Do not generate efl-cxx.pc when C++ is disabled.
2015-04-09 11:17:28 -03: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
Carsten Haitzler bd18b52c46 efl - fix more cedric build breaks...
never checked anything depending on efl to build... didnt install
ector.pc...! fix!
2015-04-04 11:50:51 +09:00
Jean-Philippe Andre 841890a7b6 cmake: Add files for Emile, the serial killer 2015-03-17 19:29:14 +09: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
Marcel Hollerbach a950371b10 Eio: added cmake file
Summary: Added cmake config files for Eio

Test Plan: install it and test it with a app with needs eio

Reviewers: cedric, tasn

Reviewed By: tasn

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2079
2015-03-04 15:05:42 +00:00
Stefan Schmidt c5879dab4d build: Unify use of $(MKDIR_P) for creating a dir within the build system
While we used different variation of mkdir -p all over we also had spots
where we did not use the option. This is one step in trying to make our
build system ready for parallel install. Using something like -j 10 even
for the install should help to speed up our jenkins jobs as well as distcheck.
2015-02-25 16:43:35 +01:00
Daniel Kolesa 894c6cf80b elua: always install cmake stuff for elua, even when not being built 2014-12-10 15:25:00 +00:00
Daniel Kolesa 8e1bccde78 elua: add elua.pc to configure.ac and add cmake definitions for elua 2014-12-08 16:12:01 +00:00
Daniel Kolesa 4db40cea63 elua: add pkg-config for the elua library 2014-12-08 15:59:45 +00:00
Stefan Schmidt 427415ac21 elocation: Make sure the pc file gets installed like the others.
Forgot about this when merging it it from the separate lib where
the tooling did handle it. Thanks goes to Scimmia for letting me
know so quickly. :)
2014-11-11 17:22:48 +01:00
Daniel Kolesa 1884e4813a po: disable xgettext_wrapper for the time being (not really used and possibly won't be) 2014-11-11 15:07:03 +00:00
Tom Hacohen c51dbe3a2c Add missing cmake config for efl libs. 2014-09-22 16:08:37 +01:00
Savio Sena e60d1ea186 autotools: Add efl-cxx.pc.in. 2014-09-12 15:28:11 -03:00
Tom Hacohen b0b533fcb1 Efl: Create libefl.
Create libefl.so and the interal package for dependencies.
2014-08-21 11:02:10 +01:00
Daniel Kolesa e2cea5fc24 autotools: proper fix for generated Makevars and distcheck
Reverts 21da4a5454.

It is needed to generate Makevars in-tree even when building out-of-tree because of
how Autotools work. However, distcheck doesn't properly remove the Makevars file in
the generated distdir and makes po/ read only, preventing the build system from
generating an up-to-date version of Makevars. This commit adds the required hooks
needed to fix this behavior.
2014-08-11 10:59:13 +01:00
Daniel Kolesa 236cdce358 autotools: install .pc files to the correct directory on FreeBSD 2014-08-07 22:41:22 +01:00
Daniel Kolesa c7215e7653 autotools: fix distcheck by removing Makevars in proper stage 2014-07-31 14:26:52 +01:00
Cedric BAIL df06ec9cf3 autotools: po/Makevars is generated by configure, not Makefile.
If you did do a make clean, then you couldn't do a make afterward. Reason
was that po/Makevars is generated by configure and not Makefile. So it can
only be cleaned with make distclean and not make clean.
2014-07-31 12:03:58 +02:00
Stefan Schmidt 089bd6f9b3 build: Clean Makevar now that we generate one on our own
Since we generate our own Makevar for the po subdir we also need to clean
it up. If not distcheck complains about uncleaned files.
2014-07-30 09:23:15 +02:00