Commit Graph

23 Commits

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

Signed-off-by: Stefan Schmidt <>
2019-06-20 17:29:35 +02:00
Xavi Artigas 04a41a3712 mono-docs: Allow embedding external examples
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.

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
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

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

Reviewed By: vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision:
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:
2019-03-27 14:34:48 -04:00
Marcel Hollerbach 30bb8395c3 build: add a option to disable eo file installation
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:
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 <>
Differential Revision:
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 <>
Differential Revision:
2019-02-14 13:00:56 +01:00
Lauro Moura 586bc5207e efl-mono: Enable selecting to build @beta items
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:
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:
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:
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 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.

meson build.asis/ -Dmono=false -Dcxx=true
ninja -C build.asis/

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 and also take a look at meson_options.txt please.
Differential Revision:
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:
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:
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
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:
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:
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:
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
2018-10-18 16:12:13 +02:00
Marcel Hollerbach 5aaf2cbb5d meson: add cxx bindings
this commit adds cxx bindings to meson.

Differential Revision:
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:
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 <>

Differential Revision:
Depends on D7011
2018-10-02 17:22:50 +02:00