Commit Graph

94 Commits

Author SHA1 Message Date
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
later.

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

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11805
2020-05-27 11:06:43 +02:00
Stefan Schmidt 7e2ae1e7e3 build: disable leak detection in address sanitizer build for tests as well
Summary:
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: https://phab.enlightenment.org/D11862
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.

fixup

Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Reviewed-by: João Paulo Taylor Ienczak Zanette <joao.tiz@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11851
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: https://phab.enlightenment.org/D11850

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
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: https://phab.enlightenment.org/D11834
2020-05-18 09:51:48 +01:00
Mike Blumenkrantz 5683593669 build: enable -Wpointer-arith for dev builds
Summary:
this is a useful warning to avoid errors when calculating pointer offsets
Depends on D11816

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11817
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: https://phab.enlightenment.org/D11800
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
Summary:
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: https://phab.enlightenment.org/D11697
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 <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11651
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 <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11545
2020-03-24 12:24:04 +01:00
Mike Blumenkrantz 42480c5ebf efl-wl: rename to efl.canvas.wl
Summary:
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: https://phab.enlightenment.org/D11476
2020-03-12 12:17:07 -04:00
Mike Blumenkrantz e6573154dc efl-wl: start conversion to eo
Summary:
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: https://phab.enlightenment.org/D11454
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 <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11285
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 meson.build handles this case by
generating a version-specific entry.  This patch copies that logic into the top
level meson.build, and passes the result to the edje subproject.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10965
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 <cp.michael@samsung.com>
Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10788
2019-12-09 15:31:00 +01:00
Alastair Poole 8f500460ad FreeBSD: Link against OpenSSL in base.
Summary:
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: https://phab.enlightenment.org/D10789
2019-12-03 18:50:49 +00:00
Marcel Hollerbach 28f630ba41 meson: redo evas building
Summary:
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: https://phab.enlightenment.org/D10548
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.
better.
2019-10-04 13:33:42 +01:00
Stefan Schmidt 0a50db8c4c build: switch back to plain mode, release is over
Another forgotten detail. Need to switch back to plain mode now that we
are out of freeze again.
2019-10-01 17:24:26 +02:00
Marcel Hollerbach cc4aa8ccaa meson: support mono bindings building without cxx
Summary:
the mono bindings do depend partitially on the cxx bindings, eina_cxx
and eolian_cxx are needed, nothing more. With this commit you can build
mono without cxx.

fixes T8292

Reviewers: lauromoura

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8292

Differential Revision: https://phab.enlightenment.org/D10264
2019-10-01 10:27:41 -03:00
Stefan Schmidt c1ffcff1d3 build: open up development again
Freeze is over, you are free to go wild. :-)
2019-10-01 12:13:56 +02:00
Stefan Schmidt 11d98de24b build: switch build type to release for now
This should have been done with the first alpha, but there was a bug
preventing this. With commit 6960751c45
the problem is fixed and we can finally enable it.
2019-09-20 09:35:36 +02:00
Marcel Hollerbach 3d03d4031d build: fix disabling of audio
Summary: this supports disabling audio building in efl.

Reviewers: tasn, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9873
2019-09-09 09:17:30 -04:00
Stefan Schmidt 78bcc24eca release: Update NEWS and bump version for 1.23.0-alpha1 release 2019-09-02 12:55:43 +02:00
Mike Blumenkrantz b78b0c9248 build: fix EXE_SUFFIX define
Summary: ensure this is an empty string when it should be instead of "."

Reviewers: bu5hm4n, lauromoura

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9744
2019-08-27 07:40:33 -04:00
Christopher Michael 3b28a0a0f5 meson: Modify Ecore_Wl2 sub project to add tests
ref T8016
2019-07-15 09:54:08 -04:00
Wonki Kim 7b8766698a meson: remove autotools checking stuffs
autotools has been removed. so that the autotools checking logic is not needed.
this patch removes them.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9198
2019-06-28 09:03:13 +02:00
Jongmin Lee 3edf75c319 meson: add some config definitions
Some config definitions used in source code could not be defined during build config process.
  - HAVE_XATTR
  - HAVE_CIPHER
  - HAVE_SIGNATURE
  - BUILD_ECORE_EVAS_EWS

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9192
2019-06-27 15:51:25 +02:00
Stefan Schmidt b9756eef9b build: remove no longer needed eolian-bootstrap target
This basically reverts ac606105. It was added to help the windows cross
builds on our CI. It served a purpose but with the requirements on
native eet, edje_cc and up to elm_prefs_cc we end up with a full native
build of EFL in most cases anyway.

A full meson build of EFL with examples, bindings and tests disabled is
actually quite fast and makes sure we have the latest needed on the CI
for the cross build. I switched over to this a week ago, so we can get
rid of this extra target to maintain.

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

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
2019-06-20 17:29:35 +02:00
Marcel Hollerbach bed3fa5904 meson: remove unneeded install: flags
Summary:
when install is not set, meson take the value of install_dir. So when
this is removed, things will continue working correctly.

Reviewers: zmike, stefan_schmidt, cedric, segfaultxavi

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9065
2019-06-03 08:46:29 -04:00
Alastair Poole 7024b19ab1 build: Fix on OpenBSD.
This adds support for OpenBSD with meson build
system. Also use better paths. This resolves
further issues when building EFL.`

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9028
2019-05-28 12:02:48 +02:00
Carsten Haitzler b050294635 meson buildtype - use plain not debug as debug will be insanely slow
eina cow backtraces on write make this impractically slow to use
debug. also the switch back to dev mode was not the reverse of
switching to release mode. this fixes that.
2019-05-15 14:31:43 +01:00
Marcel Hollerbach c39346cd51 meson: we are not in release mode anymore
Test Plan:
Run the build, enable debug messages, and you will see that DBG messages start to appear again on your screen.

As an example ´EINA_LOG_LEVELS="elementary_focus:10" ./src/bin/elementary_test´

Reviewers: zmike, segfaultxavi, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8831
2019-05-13 15:13:46 -04:00
Vincent Torri a41c5f7a06 Evil: remove localtime_r as mingw-w64 defines it when _POSIX_C_SOURCE is defined
Summary:
localtime_r() is already defined by mingw-w64 when _POSIX_C_SOURCE is defined

edit: also only define _POSIX_C_SOURCE (correctly) on windows

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8859
2019-05-08 10:14:45 -04:00
Carsten Haitzler 20b38ad447 Revert "Evil: remove localtime_r as mingw-w64 defines it when _POSIX_C_SOURCE is defined"
This reverts commit a4c44e5e74.

this breaks on osx it seems... :(
2019-05-08 14:01:02 +01:00
Vincent Torri a4c44e5e74 Evil: remove localtime_r as mingw-w64 defines it when _POSIX_C_SOURCE is defined
Summary: localtime_r() is already defined by mingw-w64 when _POSIX_C_SOURCE is defined

Test Plan: compilation

Reviewers: raster, zmike, cedric

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7907

Differential Revision: https://phab.enlightenment.org/D8854
2019-05-08 12:39:54 +01:00
Mike Blumenkrantz 473dda76a1 meson: do not build emotion generic loader on windows
this is not supported

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8732
2019-05-06 17:00:54 +02:00
Mike Blumenkrantz 253fa7e09f meson: support ecore-win32
thx @vtorri

fix T7786

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8722
2019-05-06 17:00:45 +02:00
Marcel Hollerbach 4f5b3b95fb meson: add docs
Summary:
this here brings one new top level target which is doc. It is not build
by default, and does rerun everything on every call.

ninja doc will create previews and run the doxygen command. After this
is done, a tarbal of the html & man will be created, latex is not added
for now, due to the unability to compile the resulting .tex files.

Nothing of the documentation is installed for now, if this would be
enabled, then every single ninja install would regenerate the whole
documentation again, which is quite a lot, and quite a pain (and
sometimes crashes)

While porting this over, i encountered a problem with *convert* the bug
report is linked in the comment.

fix T7781

Depends on D8690

Reviewers: zmike, segfaultxavi, cedric

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7781

Differential Revision: https://phab.enlightenment.org/D8561
2019-04-30 12:17:00 +02:00
Marcel Hollerbach bb6c7c6782 meson: make it possible to link our engines against evas
Summary:
it FINALLY happend! With this python bindings should be able to work
again with a meson build, you can also enable b_lundef right now. And it
appears to work, with this we can also get another step closer to a
windows build.
Depends on D8669

Reviewers: zmike, stefan_schmidt, cedric, vtorri

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8670
2019-04-19 14:39:31 -04:00
Mike Blumenkrantz e35503ab8d back to dev mode 2019-04-05 20:13:54 -04:00
Vincent Torri 1066e5be60 Windows, meson build : use posix *printf family function
Summary: the Windows libc has different format flags for the *printf functions, fix this by using the posix version provided with mingw

Test Plan: compilation

Reviewers: zmike, raster, q66

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8432
2019-03-21 11:26:15 +01:00
Daniel Kolesa 58b8a3d163 efl: remove EFL_EO_API_SUPPORT macro
Summary:
Since we're now going to be shipping some eo classes as stable,
there is no point in keeping the eo api behind a macro, and it
should be enabled by default. Another case is beta classes, but
those are behind the EFL_BETA_API_SUPPORT guard.

This also changes includes around the place where things are
clearly broken (such as an included header needing something
from another header but that other header being guarded, notably
efl_ui_widget.h needing focus manager but focus manager being
behind beta in Elementary.h)

Reviewers: zmike, cedric, bu5hm4n, stefan_schmidt, segfaultxavi

Reviewed By: cedric, segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8322
2019-03-18 12:13:59 +01:00
Marcel Hollerbach 68a0bfda51 meson: be a bit more helpfull when it comes to bindings
Summary:
for now meson would have just used the order that you pass in via
-Dbindings=mono,cxx. However this leads to bugs, as cxx for example must
be declared before mono can be declared. This fixes this error by
forcing a order.

Reviewers: zmike, segfaultxavi

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8341
2019-03-14 14:26:21 -04:00