Commit Graph

120 Commits

Author SHA1 Message Date
Carsten Haitzler d1f1af054f emile/ecore-con - remove gnutls support since openssl3 is out
openssl3 should now solve licensing issues with openssl. there is no
good reason to keep gnutls support anymore especially since there just
isn't anyoen who wants to maintain that extra ifdef'd code (and that
code has some gotchas that don't match the full features of openssl
too). so this removed "code cruft" to maintain, complexity and
maintenance work as well as build complexity.
2022-08-12 09:33:17 +01:00
Vincent Torri 0a1ae11586 build: use meson warning_level to pass -Wall to compiler
meson has a builtin option to pass some warning flags to compiler. 'warning_level=1' passes -Wall

Reviewed-by: Marcel Hollerbach <>
Differential Revision:
2022-03-20 10:08:08 +01:00
Carsten Haitzler 29029bc781 lety's go back to dev mode .99 version 2022-01-03 12:10:34 +00:00
Carsten Haitzler 40147b36e9 release - 1.26 2021-12-26 14:21:48 +00:00
Carsten Haitzler 4f5b1b2fad ecore - mainloop - select - increase max set size and check fd if over
if fd's exceed max set size then things will ... god bad. how - ...
depends on the OS but at least report that there is an issue.
2021-06-04 12:29:22 +01:00
Carsten Haitzler a0301c298b Revert "meson - subprojects missed eeze as dep for elput"
This reverts commit 84f596c83b.

actually deps is for includes only for installed headers - so revert.
as eeze is internal only to elput.
2021-04-12 12:18:48 +01:00
Carsten Haitzler 84f596c83b meson - subprojects missed eeze as dep for elput 2021-04-12 11:13:00 +01:00
Marcel Hollerbach 0c2cf7e1bf build: enable elput per default
this is now needed by enlightenment in order to support gesture
recognition, even in xorg, hence enabling it per default.
2021-04-03 17:47:52 +02:00
Stefan Schmidt 7ca0e129ed build: release freeze is over
1.25 is done and we are back to development mode.
2020-09-22 20:17:05 +02:00
Marcel Hollerbach e2a1cdfda7 build: only find env once
this was a bit messy, and we might have caused a bug on the ML with
2020-09-02 09:25:51 +02:00
Stefan Schmidt e546d24a2e release: Update NEWS and bump version for 1.25.0-alpha1 release 2020-08-24 11:29:35 +02:00
Daniel Kolesa 86ee71ce4d elua: do not link to cffi, load the module instead 2020-07-31 19:01:53 +02:00
Marcel Hollerbach b7a61632d0 build: warn of faulty check version
Reviewed-by: Stefan Schmidt <>
Differential Revision:
2020-07-27 14:24:51 +02:00
João Paulo Taylor Ienczak Zanette 98fd37e768 cleanup.
This is a 8 commit patch, but only for a while - after agreeing with
each of the changes, it shall be squashed into a single commit.

I want to make further changes on (maybe I can end up simplifying
the build system, or just let things more organized in the end) and thought
that starting with a cleanup would be a good first step.

The changes are:
1. build: set arguments scope to project instead of globally

   If we set arguments globally, it may conflict with other builds - specially
   considering [meson's subprojects
   feature]( Setting to project
   arguments ensures we are only considering EFL and not leaking unwanted flags.

2. build: Fix spacing and indent

   Mostly because it is not well standardized during the file - sometimes
   there's spaces between tokens, sometimes there is not, etc. The same applies
   to indent.

3. build: move test environment closer to test commands

   Just as a matter of organization. If we're doing things for tests that don't
   impact other stuff, then leave it when tests are handled.

4. build: Remove unnecessary parenthesis and == true comparisons

   Less noisy redundancy: `true` is already true, and `false` is already false,
   no need to re-check. Besides, reading `if sys_windows` and `if sys_windows
   == true` shouldn't have different effects, as the first you can read as "if
   the system is windows". It gets better when you have `not` instead of `==
   false`, so for an example you could read `if not sys_windows` as "if it is
   not a windows system" more naturally.

5. build: Switch pc_files to dict

   Just thought it could stay a little better (since it works as a dict),
   specially in the `foreach` right after.

6. **[removed to a future patch]** build: Use meson's warning_level instead of hardcoded -Wall

   This way we ensure this is compiler-independant (and use the correct feature
   for that, since meson even warns when configuring the build dir).

7. build: Use language args from add_project_arguments properly instead of a loop

   The `language:` kwarg from `add_{project,global}_arguments` receives a list
   of languages, so no need for that loop.

8. **[removed to a future patch]** build: Use '/' instead of join_paths

   As it [is recommended by meson since
   (and stays clearer IMO, specially since that's how some languages are
   adopting path separation, e.g. C++'s filesystem stdlib).

Reviewers: bu5hm4n

Subscribers: vtorri, cedric, #reviewers, #committers

Tags: #efl

Differential Revision:
2020-07-01 10:13:05 +02:00
Vincent Torri f04316e3f0 meson: add Solaris support
Summary: Add Solaris support for meson

Test Plan: test on OpenIndiana

Reviewers: raster, bu5hm4n, stefan_schmidt

Reviewed By: raster, stefan_schmidt

Subscribers: alarcher, stefan_schmidt, bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Differential Revision:
2020-06-18 14:36:48 +01:00
Stefan Schmidt 94ca2d40d0 build: decrease the minimal needed meson verion to 0.50
When we jumped from 0.47 to 0.52 to fix problems some users have been
seeing when building we might jumped a bit to far. We want a good
balance between stable and fast building but also mature enough to be in
distro releases and widely available.

We will try to settle for a middle-ground with 0.50 here. If that causes
problems for you building please let us know instantly.
2020-06-12 09:38:38 +02:00
Daniel Kolesa c3a1060b94 build: disable elua by default, plus nicer detection
Elua is now disabled by default. There are some other changes:

1) Elua scripts are only installed if Elua is enabled
2) Lua bindings are only installed if Elua is enabled
3) Elua with interpreter is clearly experimental and will message
2020-06-06 19:28:26 +02:00
Carsten Haitzler 1fae1b979a need to upgrade meson. it looks like older ones have trouble
like adding endless: -lm -ldl -lm -ldl ....
2020-06-04 12:09:06 +01:00
Daniel Kolesa f78d54051c bindings: rename luajit -> lua 2020-05-29 17:06:22 +02:00
Stefan Schmidt b20a691d1b build: ensure we set all needed asan option for check run as well
Normally we would set the needed detect_odr_violation=0 form our CI
scripts. Move it here to ensure we have it set and it does not get
forgotten when meson overrides the env far.

Fixes the ASAN job on CI.

Reviewed-by: Marcel Hollerbach <>
Differential Revision:
2020-05-29 12:54:53 +02:00
Carsten Haitzler 2bd98e830f build - fix eina pc deps so you can build against efl again 2020-05-28 20:38:41 +01:00
Marcel Hollerbach f2e0ff9d00 build: add efl-canvasl-wl to efl-one
this is required by e, thank you Ross.

Differential Revision:
2020-05-28 13:16:00 +02:00
Marcel Hollerbach 9155e898ce build: add priv eo targets to efl_one_eo_deps
this was forgotten / never spotted before. Thank you Quelrond for the

Differential Revision:
2020-05-28 13:00:52 +02:00
Marcel Hollerbach 7da3eb84ab build: efl-one track all subdirs correctly
this was missed before, so the subdirectories have not been correctly
added. With this you can now simply build with efl-one with including

Reviewed-by: Stefan Schmidt <>
Differential Revision:
2020-05-27 15:35:54 +02:00
Marcel Hollerbach 0b08318117 build: add correct flags to efl-one.pc
they are required, and normally dragged in via eina.
2020-05-27 13:26:15 +02:00
Marcel Hollerbach 92b049b4d7 build: time for efl-one
this is building parts of efl into a single .so and links all modules
and binaries to it.

The libraries themselfs are build as .a's which are linked together as
.so's. Which is required as every subproject has its little custom
c_flags, which are somtimes conflicting.

After the final .so is then built, all the split up libraries are
replaced with the efl-one. After that the modules and binaries are built
correctly with the correct link on the efl-one parts.

Reviewed-by: Stefan Schmidt <>
Differential Revision:
2020-05-27 11:06:48 +02:00
Marcel Hollerbach 2d105a7e59 build: split up building of libs, bins, modules, benchmark
this is needed as a preparation for more build refactoring. Overall goal
to build efl in a single .so.

What this commit results in is that *every* lib gets build first, then
the modules and binaries of all subprojects. This way of building is
needed in order to replace the split up libraries with the efl-one one

Additionally, the infrastructure is added to set flags on the libraries
that should be build together.

Reviewed-by: Stefan Schmidt <>
Differential Revision:
2020-05-27 11:06:43 +02:00
Stefan Schmidt 7e2ae1e7e3 build: disable leak detection in address sanitizer build for tests as well
The same principle we use for the build stage we use here for running
our tests. Leak detection has just to many problems for us on the
shutdown path that it makes no sense to use here.

I am also bumping the evas timeout form the default 30s to 60 as I have
been running into timeouts with asan enabled on my machine. This would
not change anything on a default build.
Depends on D11137

Reviewers: smohanty, bu5hm4n, raster, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision:
2020-05-26 09:54:57 -04:00
Stefan Schmidt 46cedab6cc build: move EFL_BUILD to package_c_args used in all subprojects
Original patch by Vincent Torri. Co-authored with Marcel Hollerbach.


Reviewed-by: Vincent Torri <>
Reviewed-by: João Paulo Taylor Ienczak Zanette <>
Differential Revision:
2020-05-26 10:15:14 +02:00
Stefan Schmidt d767097005 build: set DLL_EXPORT when on a windows system
No need to have this elementary specific, we can do this globally.

Original patch by Vincent Torri.

Differential Revision:

Signed-off-by: Stefan Schmidt <>
2020-05-25 15:58:29 +02:00
Carsten Haitzler 63b5d81983 Revert "Fix EAPI definition by defining EFL_BUILD for each built DLL"
This reverts commit 3ade45cbc8.
2020-05-18 11:13:59 +01:00
Vincent Torri 3ade45cbc8 Fix EAPI definition by defining EFL_BUILD for each built DLL
Summary: EAPI must be defined to dllexport when building DLL, and to dllimport when using these DLL. To achieve this, define EFL_BUILD for each library and module, and set DLL_EXPORT unconditionally. Static library are and will be not supported

Test Plan: compilation

Reviewers: zmike, raster, jptiz

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision:
2020-05-18 09:51:48 +01:00
Mike Blumenkrantz 5683593669 build: enable -Wpointer-arith for dev builds
this is a useful warning to avoid errors when calculating pointer offsets
Depends on D11816

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision:
2020-05-12 16:56:01 +02:00
Mike Blumenkrantz 6417b35ad4 build: enable -Wfloat-compare by default for dev builds
Summary: Depends on D11799

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision:
2020-05-12 16:10:02 +02:00
Stefan Schmidt 9e6e805689 build: ensure we set ENABLE_LUA_OLD when using a lua interpreter
We missed to actually set the ENABLE_LUA_OLD. Ross run into some
problems with Lua 5.2 builds and we hope this fixes the issue for him.

Found and fixed by Marcel Hollerbach (only put in the system by me).

Fixes T8705
2020-05-12 13:13:40 +02:00
Stefan Schmidt 121e8bbdca build: release freeeze over
Going back to normal development mode. Have fun!
2020-04-29 12:14:20 +02:00
Marcel Hollerbach 7288e98b9e ecore_evas_x: allow parsing of links form the link list
this is needed in order to return the data the same way the legacy impl
did. This however has the annoying sideeffect that ecore_evas_x now
depends on efreet, and we had to change the build order.
Depends on D11696

Reviewers: zmike, stefan_schmidt, raster

Reviewed By: zmike

Subscribers: devilhorns, cedric, #reviewers, #committers

Tags: #efl

Differential Revision:
2020-04-14 11:29:32 -04:00
Marcel Hollerbach e0369417f7 meson: build modules on macos as .so
this is needed in order to support ecore-evas loading of .so modules

Reviewed-by: Mike Blumenkrantz <>
Differential Revision:
2020-04-07 10:58:21 +02:00
Stefan Schmidt 3598654965 release: Update NEWS and bump version for 1.24.0-alpha1 release 2020-04-01 12:51:51 +02:00
Stefan Schmidt 9da0235d74 exactness: remove exactness library and move code into binary folder
We do not want to have EAPI from exactness exposed at this point without
any real user. I know of no application using the exactness library.
If we come to that point we can move things back into a lib, but for now
having the code shared between the various executables is all we need.

Reviewed-by: Mike Blumenkrantz <>
Differential Revision:
2020-03-24 12:24:04 +01:00
Mike Blumenkrantz 42480c5ebf efl-wl: rename to efl.canvas.wl
this is a canvas object so it needs to be in the canvas namespace

Depends on D11475

Reviewers: segfaultxavi, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision:
2020-03-12 12:17:07 -04:00
Mike Blumenkrantz e6573154dc efl-wl: start conversion to eo
this converts the main efl-wl object to an eo-based canvas group object

Depends on D11465

Reviewers: segfaultxavi, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision:
2020-03-12 12:17:07 -04:00
Carsten Haitzler 075bab83c4 remove vlc, gst-0.10, xine deps, modules as they are broken
they dont work. easier to remove than fix, so... remove :) only gst
1.x supported now.
2020-03-08 12:36:01 +00:00
Daniel Zaoui 50dbfcf31d exactness: import code from external repo into efl.git
Exactness has been developed in a separate git repo for many years. This
finally moves it over into efl. Having it in tree allows us for easier
testing with our current main target elementary_test and integration
into our CI system (patches for this are work in progress already).

We are only importing the lib and binary for test execution, not the
full set of test data. This is would be over 500MB and thus it will stay
in a different repo and only made available during the actual testing.

[The original patch was made by Daniel Zaoui. Over the course of review
and testing it got extended with build fixes for API changes and mingw
compilation support from Stefan Schmidt and Michael Blumenkrantz]

Reviewed-by: Mike Blumenkrantz <>
Differential Revision:
2020-02-07 11:31:13 +01:00
Ross Vandegrift 2e854ce7ed correct edje pkg-config generation for luaold
Currently, edje.pc gets its lua Requires from the -Dlua-interpreter argument.
If -Dlua-interpreter=lua, an unversioned lua entry ends up in Requires, which
cannot always be satisifed.  The evas filters handles this case by
generating a version-specific entry.  This patch copies that logic into the top
level, and passes the result to the edje subproject.

Reviewed-by: Marcel Hollerbach <>
Differential Revision:
2019-12-28 10:47:46 +01:00
Stefan Schmidt 4ff8fb140c elocation: remove beta library
This has never been fully finished or really used. The GeoClue project
dbus API moved on to a newer version as well. We still have it marked as
beta so we should take the chance and get rid of it to cleanup our tree
a little bit.

Reviewed-by: Chris Michael <>
Reviewed-by: Vincent Torri <>
Differential Revision:
2019-12-09 15:31:00 +01:00
Alastair Poole 8f500460ad FreeBSD: Link against OpenSSL in base.
When pulling in OpenSSL and building against the
port there are some linker complications.

For example, doing a TLS HTTP transaction will
crash in libcurl which was built against
OpenSSL in base. If we link against FreeBSD's
OpenSSL these issues are resolved.

Test Plan:
On FreeBSD use the openssl port and build EFL
against it.

1) Upload a screenshot in E (segv).
2) Click on a link to image in terminology over
HTTPS (segv).

Reviewers: bu5hm4n, raster

Reviewed By: raster

Subscribers: cedric, Peter2121, #reviewers, q66, #committers

Tags: #efl

Differential Revision:
2019-12-03 18:50:49 +00:00
Marcel Hollerbach 28f630ba41 meson: redo evas building
before recent times we had to support static and shared building based
on the options of the user, which forced us to complicate our build with
the evas_goal hack. the evas_goal hack more or less was the idea of
"faking" the evas build in the evas directory, finish all the .eo
generation there, then build the modules and make all the static files
ready. Then build everything in evas_goal.

Now, that we just build everything the same always, we can simply build
it in the evas way (removing the evas_goal hack FINALLY), as the same modules
are build statically and shared.
This also gives us the possibility to build the shared image loaders
*again* the the modules directory, which unbreaks peoples build scripts
who packaged loader files seperatly.

Reviewers: zmike, raster, cedric, stefan_schmidt

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision:
2019-10-29 12:54:56 -04:00
Carsten Haitzler 0f3bbb51f4 build - images loaders and saver modules need to link to evas
if your platform is picky enough it won't want to leave unresolved
symbols (which wshould be resovled at runtime from the host lib) so we
need to link these modules to evas. the problem is due to the
complicated build of some modules being static and some shared, evas
is declared with evas_goal and this has to be declared after static
modules are declared but since i was declaring static and shared at
the same time from a table this breaks. so i have to move all the
static and shared module stuff into evas_goal into 2 phases. one phase
for the static and one for the shared after evas is delcared so evas
as a target exists to link to.
2019-10-05 18:39:38 +01:00
Carsten Haitzler 6d8e39a642 build - remove evas-modules option as its rather pointless
evas-modules affects evas engine modules if they are static or shared,
but ecore evas modules are still modules... so all in all this doesnt
help much as it still requires modules to be separate from the shared
libs, thus disallowing for statically linking efl into an app anyway
etc. etc. etc. ... so less options to deal with, less complexity.
2019-10-04 13:33:42 +01:00