Commit Graph

52271 Commits

Author SHA1 Message Date
Gustavo Sverzut Barbieri f958921177 cmake: add ecore.
no tests or modules (which depend on eldbus).
2017-01-25 19:29:20 -02:00
Gustavo Sverzut Barbieri 205348383c cmake: add efl library.
still no tests and no binaries, but compiles the interfaces required
by other libraries such as ecore.
2017-01-25 19:29:20 -02:00
Gustavo Sverzut Barbieri c1b2701770 cmake: check for variable defined, not if it evaluates to false.
otherwise we can't have modules off by default.
2017-01-25 19:29:20 -02:00
Gustavo Sverzut Barbieri f74ca08be9 cmake/eina: check more required functions and link with unwind if found.
unwind is needed for debug, thus link to that.
2017-01-25 19:29:20 -02:00
Gustavo Sverzut Barbieri a2bc5ee130 cmake: improvements to eolian handling.
- fix doc and state SOURCES shouldn't get any EO_FILES, these should
   go to the specific PUBLIC_EO_FILES or EO_FILES.

 - generate eolian files in relative directories, required by
   efl/interfaces

 - .eot files fail if you give -o c:..., they need an explicit "-gh"
   followed by "-o i:..."

 - .legacy.h are generated automatically, but needs an extra pass (q66
   was informed about it)

 - if EOLIAN_BIN=on, then use in-tree binary, depending on such target
   only if it's the case. This allow cross-compiling and also bypass
   regenerate all .eo files if eina/eolian changed (as requested by
   Raster), simply reconfigure with EOLIAN_BIN=path, which can be
   EOLIAN_BIN=bin/eolian_gen if you wish ;-)

 - use COMMENT keyword to change the eolian summary (output)
2017-01-25 19:29:20 -02:00
Gustavo Sverzut Barbieri e4d0f78682 cmake: if EOLIAN_BIN=ON, use built eolian_gen. 2017-01-25 19:29:20 -02:00
Gustavo Sverzut Barbieri fd8865d0d0 cmake: EFL_OPTION() now supports DEPENDS to handle conditionals.
This is now used by ENABLE_SYSTEMD and ENABLE_VALGRIND, which moves to
"common.cmake" since they are shared among multiple libraries.

With that I found that LINK_FLAGS is indeed a string, not a CMake List
(space separated, not ";"), then fix that so compilation actually works.
2017-01-25 19:29:20 -02:00
Gustavo Sverzut Barbieri 4d21d6c56a cmake/common: add missing checks for eina, simplify to one file.
Since the macros were moved to EflMacros.cmake, there is no reason to
keep CommonHeaderChecks.cmake anymore, put them all in
config/common.cmake

Keep the checks sorted so they're easy to organize.

Add missing check for prctl() and iconv() (which we were checking
iconv.h, but the code used '#if HAVE_ICONV').
2017-01-25 19:29:20 -02:00
Chris Michael a306cba6c3 ecore-wl2: Don't set opaque or input regions if already set
If the window opaque/input regions already match what is being
requested (to be set), then no need for the compositor to create
regions and set them.

@optimize
@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-01-25 12:02:35 -05:00
Chris Michael 51684536f0 Revert "evas: Fix resource leak in evas_module_find_type"
Reverting this as it causes crashes in Terminology and other EFL apps.
Needs investigation.

This reverts commit 8b2ca30eb5.
2017-01-25 09:40:58 -05:00
Vyacheslav Reutskiy 13541f0054 edje_entry: don't send a 'changed' signal if Control is lock
This patch is avoid extra 'change' signals from edje_entry to
elm_entry.
Basically the entry fields does not react to keys pressed with
modificator 'Ctrl'. I was test on Windows 7, MacOS 10.12 and Unity
(GTK+) and they all have similar behavior - keys with 'Ctrl' are
ignored. So this patch make expected beharior for elm_entry
(edje_entry).
2017-01-25 16:27:23 +02:00
Chris Michael 358b4b9a9a elput: Fix resource leak
Coverity reports that we leak 'msg' here if we fail to append
arguments to the message.

Fixes CID1367499

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-01-25 09:09:38 -05:00
Chris Michael f1c9088c14 ethumb: Fix resource leak
Coverity reports a resource leak here as we were not freeing
'sanitized_path' inside the if statement.

Fixes CID1367502

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-01-25 09:09:38 -05:00
Chris Michael 8b2ca30eb5 evas: Fix resource leak in evas_module_find_type
Coverity reports a resource leak here if we successfully load the evas
module as we were never freeing the eina_module here. Previously we
would just return the evas module without proper cleanup of the
eina_module. This patch fixes the leak by calling eina_module_free if
we successfully load the evas module.

Fixes CID1367503

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-01-25 09:09:38 -05:00
Chris Michael 54655d65a3 evas: Minor formatting fix
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-01-25 09:09:38 -05:00
Shinwoo Kim 308b0f82fa ecore_input: support PS4 joystick
Add joystick mapper for Sony Computer Entertainment Wireless Controller
2017-01-25 22:35:47 +09:00
Carsten Haitzler e22de29461 edje - fix border scale by interpolation
several theme elements uses transitioning border scale by for
animation and this has been broken for quite some time now. the theme
sall looked wrong for ages. i just never junted down exactly why, but
i know... i wrote the themes that made use of scale by animation
interpolating from like 0.1 to 1 and so on to make for example a
shadow go from sharp to blurry... the theme hasnt changed. edje did.
it broke.

this fixes it back to where it was. interpolation now works. i left a
comment so no one tries to "fix it".

@fix
2017-01-25 22:30:13 +09:00
Carsten Haitzler a279852c86 evas - proxy - fix clipping of proxy renders that broke terminology
so proxies just rendered nothing when used in terminology. they used
to work for the tab switcher (ctl+shift+home). this now works again.

there is a good chance this may break something else though... what i
can't seem to find...

this fixes T5131
2017-01-25 18:44:58 +09:00
SangHyeon Lee bec54fc870 gengrid : fix mirrored position calculate to apply pan width instead of object width
the pan object width can be different with object width,
because of padding and bar area, so we should using pan's width
instead of object width for mirrored calculation.

in elementary_test gengrid sample, you can see, when mirrored on,
the alignment is broken before merge this patch.

Signed-off-by: SangHyeon Lee <sh10233.lee@samsung.com>
2017-01-25 13:13:20 +09:00
Amitesh Singh 7a5e64ef90 genlist: fix mem leak on focus next
This patch fixes an eina list mem leak on each
focus next(tab/alt-tab) traversal.

@fix
2017-01-24 22:50:24 +05:30
Amitesh Singh 625f7bc90b index: fix mem leak on focus next
This patch fixes an eina list mem leak on each
focus next(tab/alt-tab) traversal.

@fix
2017-01-24 22:15:55 +05:30
Jiyoun Park 68f63b01e2 evas_inline: Change the return value for readabilty 2017-01-24 15:36:05 +09:00
Gustavo Sverzut Barbieri fa92926469 cmake: major rework of check and pkg-config dependencies.
make FUNC_CHECK(), TYPE_CHECK() and HEADER_CHECK() more general and
they can be set to a scope, like "eina", then all symbols are prefixed
with that. The scope is created with CHECK_INIT(), and
EFL_HEADER_CHECKS_FINALIZE() will finish that.

This makes it possible for cmake/config/eina.cmake +
cmake/post/eina.cmake to add stuff to the generated file, better than
hand edit the template.

CHECK_APPEND_DEFINE(name val) is now the base to add symbols to the
generated file in the current scope.

Then convert cmake/config/eina.cmake to use that and match the
autotools values (were a bit off).

This exposed enabling valgrind was broken due incorrect pkg-config
usage with cmake (it's not obvious), it was using just the libraries,
while LDFLAGS are needed to get -L/usr/lib/valgrind. Then also convert
to CFLAGS provided by pkg-config and make that automatic for
PKG_CONFIG_REQUIRES and PKG_CONFIG_REQUIRES_PRIVATE.

Also, eina-mempool modules use valgrind and must use that now that's
propagating correctly.
2017-01-23 23:55:33 -02:00
Gustavo Sverzut Barbieri ff0d88b7ba cmake/eina: match configure.ac and build all modules statically by default. 2017-01-23 19:50:04 -02:00
Gustavo Sverzut Barbieri d30059bd66 cmake/eo: simplifies eo handling and generate eolian info in .pc.
added 2 cmake target properties to collect private and public eo
files, then that is used by EFL_CREATE_EO_RULES() instead of filtering
SOURCES and also EFL_PKG_CONFIG_LIB_WRITE() to know if eolian entries
should be generated.
2017-01-23 19:35:51 -02:00
Gustavo Sverzut Barbieri 3813044ef6 cmake/eo: add description (fills eo.pc file) 2017-01-23 19:34:39 -02:00
Gustavo Sverzut Barbieri ec060b4fee cmake/eina: only pthread is public, rt/dl/m are all private. 2017-01-23 19:33:35 -02:00
Gustavo Sverzut Barbieri ce97fc1dd3 cmake: also process non-public eo files.
the only difference is they do not get installed, but may be used to
generate internal .eo.c
2017-01-23 19:04:30 -02:00
Gustavo Sverzut Barbieri 62ec4c8aa2 cmake: cleanup EFL_CREATE_EO_RULES().
it wasn't using the given generation_dir parameter, it was reseting
the loop variable (which worked, but is nasty).
2017-01-23 18:59:36 -02:00
Gustavo Sverzut Barbieri c178d681f0 cmake: minor simplification of eo files, do not leak vars.
unset the eo variables before we go process modules, tests and
binaries.
2017-01-23 18:59:36 -02:00
Derek Foreman 55750d41fa build: Depend on wayland-protocols for wayland build
We need this to auto-generate protocol files for things like
xdg-shell.
2017-01-23 14:36:32 -06:00
Gustavo Sverzut Barbieri 5e294031de cmake: fix module define translation.
we can't check the options in config/eina.cmake as they were not
created at that point, instead we must have a "post" file that is
included after everything else is processed, options/targets all
exist and can be modified.
2017-01-23 18:25:22 -02:00
Gustavo Sverzut Barbieri 0f8a6d04ab cmake: always use test target name, not simple name.
simple name may repeat, like 'suite'.
2017-01-23 18:19:29 -02:00
Gustavo Sverzut Barbieri f8487fb77b fix build with split eina_modinfo directory. 2017-01-23 18:01:07 -02:00
Gustavo Sverzut Barbieri 8ae1e02f05 cmake: be smart on internal libraries in the generated .pc files.
For internal libraries (those we have a target), generate a pkg-config
one instead of going with the -lNAME route.
2017-01-23 17:28:48 -02:00
Marcel Hollerbach f27323395a cmake: eina needs rt
for open_shm
2017-01-23 20:08:55 +01:00
Marcel Hollerbach 5b56f3a79d cmake: add that dependency to the right target
we need the eolian-bin for ${target}-eo not ${target}
2017-01-23 20:03:03 +01:00
Marcel Hollerbach 27504d7db0 cmake: add eo 2017-01-23 20:02:06 +01:00
Gustavo Sverzut Barbieri dbe75216c2 please READ :-) 2017-01-23 16:48:50 -02:00
Gustavo Sverzut Barbieri a3ac62235b cmake: fix typo, use space not a list separator 2017-01-23 16:15:36 -02:00
Gustavo Sverzut Barbieri 7a32c13da7 cmake: reset temporary lists from cache.
otherwise new cmake runs will duplicate the lists over and over again.
2017-01-23 16:09:50 -02:00
Gustavo Sverzut Barbieri f59dfc3ab8 cmake: move functions to EflMacros.cmake 2017-01-23 16:09:50 -02:00
Gustavo Sverzut Barbieri e8f2bdb079 cmake: better functions to check headers, functions and types.
functions that handle all the required settings in one place.
2017-01-23 16:09:50 -02:00
Marcel Hollerbach ea83a197be build: add eolian 2017-01-23 18:52:34 +01:00
Marcel Hollerbach 65ce7abb00 cmake: remove debugging output 2017-01-23 18:25:15 +01:00
Gustavo Sverzut Barbieri e36a444c54 cmake: only update config_headers.h if contents changed.
Generate to a temporary location and avoid touching the original file
if it's unchanged. This way we play nicer with build system that
regenerate objects based on file timestamps.
2017-01-23 18:23:41 +01:00
Gustavo Sverzut Barbieri fe7a21170c cmake: reduce number of redundant variables set in cmake.
Avoid redundant variables in cmake, whenever they are needed as
duplicates, only do that in the template.
2017-01-23 18:23:41 +01:00
Gustavo Sverzut Barbieri b10fc88bb0 EflMacros: build tests before running them.
'make test' wouldn't build the test, which is annoying.

There is no way to add dependencies to reserved target 'test'. The
test is also executed by another tool (ctest), not cmake itself, then
we must create a test '-build' that is actually calling back cmake to
compile the test suite and make it a dependency for the test itself.

Nasty but improves usability.
2017-01-23 18:23:41 +01:00
Marcel Hollerbach f009bc8b2b build: check for the mtrace header 2017-01-23 18:23:41 +01:00
Marcel Hollerbach 71d6fcc0c4 build: add eo files generation to the macros
this will generate eo.h eo.c rules for SOURCES and public eo files.
This also installes the eo.h files from the public eo files into the
include directory, and installes the eo files into the correct location
2017-01-23 18:23:40 +01:00