Commit Graph

26 Commits

Author SHA1 Message Date
Marcel Hollerbach 2197b8eb24 meson: remove DATADIR as it is not used
and further more, on windows this causes un-understandable compiler
errors.

Differential Revision: https://phab.enlightenment.org/D7417
2018-12-06 15:49:17 +01:00
Marcel Hollerbach 48ca7a2f33 elementary: add a benchmark for focus widget tree interation
The benchmark checks how long it takes to move focus through a few
nested scrollers.

Differential Revision: https://phab.enlightenment.org/D7363
2018-12-03 20:23:05 +01:00
Carsten Haitzler 9934b783c4 meson - add micro version to pkgconfig files 2018-11-17 11:19:41 +00:00
Carsten Haitzler 3750dac503 meson - fix build on non-intel and correct cross compilation
don't set -msse3 unconditionally - set the correct flags based on
architecture. now it builds on arm, aarch64 again as well as x86. sorry -
can't test ppc as i have no such hardware.

also use host_machine not target_machine. target is wrong that's only
for cross compilers (if we were compiling a cross compiler and the kind of
binary they may produce, not what they run on - that's host).
2018-11-16 21:14:52 +00:00
Marcel Hollerbach 65de934dcf meson: correct the BIGENDIAN and ENVIRON check
we already have the compiler object, there is no need to fetch it again,
further more, we are probebly interested in BIGENDIAN on the
target_machine, not the host_machine.
2018-11-16 17:32:01 +01: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 b9225fd710 ector - fix meson build with sse3 on ix86 (32bit) 2018-11-16 00:08:47 +00:00
Carsten Haitzler e6c7521f5d meson - move static libs sraw sse2 inot sse3 build options set
this fixes builds when sse3 is enabled by building with sse3 opts...
2018-11-12 16:42:17 +00:00
Daniel Kolesa ac95f38d1b cxx: explicitly require c++11 and fix tests to conform
We weren't setting a C++ version for build previously, which would
result in compiler specific default being used, most likely C++11
with GNU extensions on modern compilers and C++03 with GNU exts
on old compilers. This is bad because it potentially breaks build
on older toolchains that don't default to a modern C++.

Now we enable pure C++11 without GNU exts; this resulted in some
of the build breaking because of use of typeof() GNU C/C++ ext
in tests code, so fix that to use standard decltype() from C++11.

@fix
2018-11-12 15:43:13 +01:00
Carsten Haitzler f92bf3d8cd meson - define WORDS_BIGENDIAN if on big endian 2018-11-11 09:15:14 +00:00
Carsten Haitzler 1dda6461be meson - make having asm headers errors requiring explicit disables 2018-11-10 15:52:51 +00:00
Carsten Haitzler a6f9a1b4f6 meson - set sloppy spec define as default for efreet
matches autofoo build now
2018-11-09 12:37:14 +00: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
Carsten Haitzler 3a18900441 meson build - fix build to check for environ like autofoo did 2018-11-09 11:43:59 +00:00
Marcel Hollerbach 1c9c8beb40 meson: generate .pc files for efl-core efl-ui efl-net
they simply redirect to the projects of elementary / ecore,efl,emile /
ecore,ecore-con,emile. The resuling flags are the same.

fix T7447
2018-11-02 13:28:28 +01:00
Marcel Hollerbach 2579733515 meson: allow setting of custom pc variables
this brings the theme directory to the elementary .pc file.

Differential Revision: https://phab.enlightenment.org/D7224
2018-10-31 18:26:24 +01:00
Carsten Haitzler 6eb608b9cc meson - ethumb - fix build and install of service files for ethumb 2018-10-31 15:33:58 +00:00
Marcel Hollerbach 852dd60cdb meson: do not add cs as required compiler
Summary: its only required when having mono

Reviewers: q66, netstar, jeyzu

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7213
2018-10-25 23:40:31 +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 e19d239147 meson: prepare general build for the bindings
for bindings we needed a system that could be used to find all special
directories of every subsystem, for eo files headers etc.
The mechanism is documented in the root meson.build

Differential Revision: https://phab.enlightenment.org/D7180
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 347dc66ba9 meson: unify system properties
this unifies the system types into 4 boolean flags
This fixes the fact that meson changed the system string accross
versions.

Differential Revision: https://phab.enlightenment.org/D7144
2018-10-05 13:40:29 +02:00
Marcel Hollerbach 22d7cd1243 meson: install compat ethumb_client.pc file
in autotools this was not having the same naming convetion than in meson
right now. This installs a duplicated .pc file, so the one with the
different name can be dropped at some point.

Fix terminology compilation.

Differential Revision: https://phab.enlightenment.org/D7132
2018-10-03 18:07:44 +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