Commit Graph

40 Commits

Author SHA1 Message Date
Carsten Haitzler 2101e3c3d3 webp - promote to default on
i just noticed a pattern... we recommend in our sample confs ... to
not disable webp. why keep doing that and why not just make it a dep
on by default you need to explicitly disable? make lives easier and
less complex. it was a good exercise to write these as it points this
out... :)
2020-01-28 08:34:34 +00:00
Lauro Moura e632c1334a csharp: Add StyleCop support to dotnet build
This patch adds support to run the StyleCop rules. To enable, -Ddotnet=true
is needed, You can pass -Ddotnet-stylecop=CAXXXX,CAXXYY where X and Y are digits for CAs
or SAs. You can also ask that the CAs and SAs cause errors instead of warnings.

Differential Revision: https://phab.enlightenment.org/D10969
2019-12-30 22:17:32 -03:00
Carsten Haitzler 19f6be78c4 imf - make xim+scim the defaults not xim+ibus due to ibus being broken
at leats ibus seems to just not work for me on arch at least  - even
with gtk apps, but scim does, so maybe make scim the main thing again?
also allows glib to be off by default. :)
2019-12-06 20:56:07 +00:00
Stefan Schmidt fd6d03025a ecore_x: remove support XGesture extension
Summary:
This was a X11 extension mainly developed for Tizen. By now I can only
find it packaged by Gentoo as the only Linux distribution and Tizen is
now longer using it either. Bringing it up during EDD and on the mailing
list did not come up with any users.
I think we can go ahead and deprecate the API and remove the
functionality.

Reviewers: raster, cedric, devilhorns, zmike

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10823
2019-12-06 14:40:55 -05:00
Carsten Haitzler 899b11f4e4 glib - enable by default again - ibus imf needs it 2019-12-06 19:29:20 +00:00
Stefan Schmidt b8dc80c144 emotion & evas: remove gstreamer 0.10 support
We have Gstreamer 1.x support for a long time already. We used to keep
this around as fallback. By now Linux distributions start to actually no
longer ship the Gstreamer 0.10.x packages and upstream has not seen a
release in in 5 years. Time to remove it on our side as well.

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10779
2019-12-04 12:21:25 -08:00
Carsten Haitzler 59bcc3c658 build - experiment - turn off glib integration by default
i wany to see if this breaks anything for regular efl use on regular
platforms... one way to figure it out is disable it by default and
see...xs
2019-11-27 16:52:49 +00:00
Carsten Haitzler 523a64d226 build - as per edd 2019 - make e physics off by default 2019-11-27 16:52:49 +00:00
Lauro Moura 17a81bee4a csharp: Revamp dotnet support
Summary:
Instead of building with a patched meson version, make use of custom
targets and generated csproj files so we can used upstream meson
normally.

This avoids digging into "non official" dotnet stuff like calling
the CSC.dll directly that the patched meson tried to do.

To enable, run meson with `-Ddotnet=true`.

Regarding source file dependencies, Meson has a limitation[1]
about generated artifacts being placed in subdirectories.

In order to correctly track these generated artifacts for dotnet, we
generated them in the same folder as the csproj file through
`dotnet build -o`.

Instead of installing the dll like we do for mono, a nupkg is generated
and installed in the same folder as the dll would be
(<prefix>/lib/x86_64-linux-gnu/efl-mono-1)

To avoid messing around with Nupkg caches, we reference the source
project for the library directly instead of the nupkg when building the
test suite.

[1] https://github.com/mesonbuild/meson/issues/2320

Fixes T8168

Reviewers: bu5hm4n, woohyun, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, brunobelo, felipealmeida, segfaultxavi

Tags: #efl, #do_not_merge

Maniphest Tasks: T8168

Differential Revision: https://phab.enlightenment.org/D9717
2019-11-06 11:20:19 -03:00
Yeongjong Lee e6fafe4e61 mono: introduce friend assembly
Summary:
Friend assemblies can access efl_mono assembly's internal types and members.
If `build-tests` option is true, `efl-mono-suite.exe` and `efl_mono_test.dll`
will become friend assemblies.

Test Plan: meson setup -Dbindings=mono,cxx -Dmono-beta=true

Reviewers: lauromoura, segfaultxavi, Jaehyun_Cho

Reviewed By: lauromoura

Subscribers: felipealmeida, cedric, #reviewers, woohyun, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10337
2019-10-28 17:46:15 -03: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
Carsten Haitzler e65ebc61fa build - update README and meson options to match echother in defaults
update some defaults like move to gl-es by default, tslib off by
default as this really makes efl simpler to confgure ... by default
with less things to change to get stuff working.
2019-09-23 19:03:54 +01:00
Hermet Park ee25c66eff build: Seprate same svg extension loaders between image and vector.
Currently, vector and image support svg format via different rountine.
Our vector loader implemenst on its own drawing mechanism for svg,
but in case of image loader, it depends on rsvg library.

By Comparing both, our vector svg is winner at performance wise.
we can remove rsvg routine later.

For now, these two loader names are conflicted, we should separate their names
with svg and rsvg.
2019-08-06 20:57:46 +09:00
Carsten Haitzler 01d6683e32 build - update/improve meson option strings to be short and descriptive
this should make it easier to know what an option does and not be
redundant in the description.
2019-07-15 11:46:26 +01:00
Carsten Haitzler 1ed15f5b42 config - make harfbuzz default on these days
probably a good move given how common it is now.
2019-07-15 11:15:33 +01:00
Carsten Haitzler cf005ac54a build - let's make xinput 2.2 default these days...
about time since it's common enough by now.
2019-07-15 11:09:31 +01:00
Hermet Park 23af6ec640 evas vector: support json loader for rlottie integration.
Summary:
Introduce a new evas json loader to support lottie animation.
This json loader uses rlottie library which is a new github open project.

These days most ui frameworks (windowpws, skia, qt, xamarin, react, nativescript) supports lottie,
the rlottie was designed to support lottie as a standalone library and compatible with efl as well.

To enable this,please install rlottie library then remove json disabler in meson_options.txt

For more information, See lottie/rlottie project and its a introdcution article:

https://airbnb.io/lottie/#/
https://github.com/samsung/rlottie
https://hermet.pe.kr/143

Co-authored-by: JunsuChoi <jsuya.choi@samsung.com>

{D8941}
{D8944}

Reviewers: #committers, jsuya, bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8940
2019-06-21 17:35:48 +09: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
Xavi Artigas 04a41a3712 mono-docs: Allow embedding external examples
Summary:
New option added to eolian_gen: -e <dir>
This specifies a directory to search for examples. If a file is found with the
same name as an EFL C# class (e.g. Efl.Ui.Button.cs) or as an EFL C# method or
property (e.g. Efl.IText.Text.cs, Efl.IText.SetText.cs) its full
contents will be embedded in the documentation for that class or method within
<example> and <code> tags. This is, in turn, is parsed by DocFX and shown
in Example boxes in the generated pages.
If an example file is not found, no examples are embedded for that object.
If -e is not used, no examples are embedded for any object.

New option added to meson: mono-examples-dir to point to the examples directory.
This directory is then passed to eolian_mono through -e.
Do not use it (or define it to nothing) to disable example embedding.

No performance drop has been observed because of these extra tests.

Right now examples can only be given for base classes, not for derived ones
(i.e. Efl.IText.Text but not Efl.Ui.Button.Text). This will be addressed in a
later commit.

Feature
Depends on D8587

Test Plan:
Create an examples folder and put some files in it:
```
mkdir /tmp/examples
echo 'var button = new Efl.Ui.Button();' > /tmp/examples/Efl.Ui.Button.cs
echo 'button.AutoRepeatEnabled = true;' > /tmp/examples/Efl.Ui.IAutorepeat.AutorepeatEnabled.cs
echo 'button.SetAutoRepeatEnabled(true);' > /tmp/examples/Efl.Ui.IAutorepeat.SetAutorepeatEnabled.cs
```
Configure meson to embed examples and build:
```
meson configure -Dmono-examples-dir=/tmp/examples
ninja
```
Examine the generated efl_ui_button.eo.cs file to see embedded <example> tags,
or run DocFX and bask in the glory of documentation pages with examples:
```
cd doc/docfx
./gendoc.sh
```

Reviewers: lauromoura, felipealmeida, vitor.sousa, zmike, bu5hm4n

Reviewed By: vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8592
2019-04-11 10:39:09 +02:00
Mike Blumenkrantz c8b143ddeb build: fix meson vnc-server option text
Summary: thx @vtorri for reporting

Reviewers: devilhorns, vtorri

Reviewed By: vtorri

Subscribers: cedric, #reviewers, vtorri, #committers

Tags: #efl_build

Differential Revision: https://phab.enlightenment.org/D8480
2019-03-27 14:34:48 -04:00
Marcel Hollerbach 30bb8395c3 build: add a option to disable eo file installation
Summary:
this is done because .eo files are not stable, and in order to stop
people depending on it, its better for now to disable the installation
of them for now.

ref T7676

Reviewers: stefan_schmidt, cedric, zmike, devilhorns

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7676

Differential Revision: https://phab.enlightenment.org/D7897
2019-03-14 12:44:00 -04:00
Wonki Kim 56a91961ce meson: add a option for selecting lua interpreter
this patch is for selecting lua interpreter such as luajit, lua51
and in addition, little more changes to unify lua dependency over efl

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7564
2019-02-21 20:49:00 +01:00
Marcel Hollerbach ac60610573 build: add a option to bootstrap eolian
this is here in order to make cross compiling easier, and we can just
provide the *all the time changing* eolian_gen binary.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7929
2019-02-14 13:00:56 +01:00
Lauro Moura 586bc5207e efl-mono: Enable selecting to build @beta items
Summary:
For autotools, use --enable-csharp-beta to enable the generation of beta
methods and properties, for meson use -Dmono-beta=true.

By default, no beta method or property is generated.

Reviewers: woohyun, segfaultxavi, bu5hm4n, lauromoura

Reviewed By: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7637
2019-01-17 21:45:49 +09:00
Daniel Zaoui bc6b9ff935 meson: correct option description
Copy-paste has done its work here :-)
2019-01-10 21:51:01 +02:00
Wonki Kim b73a5ed704 meson: add a option to config the base directory name for elm data
There is a option(--with-elementary-base-dir) on autotools
this patch provides the exactly same thing that autotools does on meson
Differential Revision: https://phab.enlightenment.org/D7580
2019-01-10 19:44:01 +01:00
Wonki Kim 3376e7cbd2 meson: Add a option for hyphen dictionaries directory
this patch provides a way to config hyphen dictionaries dir on meson.
Differential Revision: https://phab.enlightenment.org/D7581
2019-01-10 19:44:01 +01:00
Wonki Kim 8d58ef48bd meson: modify options for enabling the bindings
bindings are added as subdir by foreaching a array defined in meson.build at root.
then meson checks a option which has the same name of the binding.
this patch appends a new option for selecting bindings to build.

[howto]
*as-is
meson build.asis/ -Dmono=false -Dcxx=true
ninja -C build.asis/

*to-be
menson build.tobe/ -Dbindings=luajit,cxx
ninja -C build.tobe/

it is imposibble to use this wrongly because meson raise a error if arguments are not in a predefined list that described in meson_options.txt.
for more information, refer to https://mesonbuild.com/Build-options.html and also take a look at meson_options.txt please.
Differential Revision: https://phab.enlightenment.org/D7563
2019-01-10 10:57:42 +01:00
Vincent Torri e142bf796d Add support of Windows 8, 8.1 and 10
Reviewers: raster, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7528
2019-01-02 10:34:47 +01:00
Marcel Hollerbach 033d3031e6 build: enable luajit per default like in autotools 2018-12-25 12:11:10 +01:00
Chris Michael 422960b0e6 elput: Add elogind as meson option 2018-11-29 07:13:16 -05:00
Marcel Hollerbach 46422187d8 meson: cleanup the native-cpu optimization build code
you were not able to disable the header checks, so if the header was not
there it indicated that you could turn it of. However, the option check
was in the has_header if not outside of it. Further more, header checks
are done in the subdirectory that is done for header checks,
unneccessary cpu_**** flags are removed, global optimization options are
added to the global_arguments instead of just the package_c_args, which
leads to the fact that also all binaries etc. are build by default with
those optimization flags.

This also reduces the amount of options to a minimum of 1 option, to
just control if there should be the optimization or not.

This also changes from host_maschine to target_mschine, since we
probebly want to enable the optimization for the target maschine, not
the host.

Differential Revision: https://phab.enlightenment.org/D7296
2018-11-16 17:29:05 +01:00
Carsten Haitzler c1ad0879a1 meson - add checks/options for mmx, sse3, neon, altivec
so we can build our assembly fast-paths again.... - also clean up the
code a bit to match...
2018-11-09 11:43:59 +00:00
Marcel Hollerbach a50a7f35b0 meson: disable luajit & mono by default
Summary:
they are disabled in autotools per default
Depends on D7213

Reviewers: q66, netstar, jeyzu

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7214
2018-10-25 23:50:06 +02:00
Marcel Hollerbach 6f9761ff54 meson: time for the c-sharp build
The tests are added and build. For running C# code please see the wiki.

you can enable -Dmono=true

Differential Revision: https://phab.enlightenment.org/D7203
2018-10-24 12:05:58 +02:00
Marcel Hollerbach e85311c992 meson: here comes cxx bindings
this commits is bringing cxx bindings.
You can enable / disable them with the cxx option.

Differential Revision: https://phab.enlightenment.org/D7181
2018-10-24 12:05:58 +02:00
Marcel Hollerbach 52e0b8440b Revert "meson: add cxx bindings"
This reverts commit 5aaf2cbb5d.

The cxx bindings were accidently merged. Things are missing (like .eot.h
files)
2018-10-18 16:12:13 +02:00
Marcel Hollerbach 5aaf2cbb5d meson: add cxx bindings
this commit adds cxx bindings to meson.

Differential Revision: https://phab.enlightenment.org/D7169
2018-10-18 16:01:07 +02:00
Marcel Hollerbach f51f840b0e meson: do not build deprecated wl & drm
I thought it was enabled per default in autotools, it was not.

Differential Revision: https://phab.enlightenment.org/D7155
2018-10-10 14:38:55 +02:00
Marcel Hollerbach 46d464e5bf here comes meson
a new shiny buildtool that currently completes in the total of ~ 4 min..
1 min. conf time
2:30 min. build time
Where autotools takes:
1:50 min. conf time
3:40 min. build time.

meson was taken because it went quite good for enlightenment, and is a traction gaining system that is also used by other mayor projects. Additionally, the DSL that is defined my meson makes the configuration of the builds a lot easier to read.

Further informations can be gathered from the README.meson

Right now, bindings & windows support are missing.

It is highly recommented to use meson 0.48 due to optimizations in meson
that reduced the time the meson call would need.

Co-authored-by: Mike Blumenkrantz <zmike@samsung.com>

Differential Revision: https://phab.enlightenment.org/D7012
Depends on D7011
2018-10-02 17:22:50 +02:00