this is wrong, each library should declare it on its own
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11883
libraries are split into deps, external deps, and pub deps.
Evas engines are refactored to use the predefined engine deps.
this is preparation work for efl-one.
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11806
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
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
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>
This extra snaitized path assign path does not make sense and leads to a leak
in the end. We already have sanitized_path and handle that correctly.
Fixes 62a0c41fd3
CID: 1366925
Summary:
I went through a lot of undefined symbols while compiling ecore_evas_cocoa
module and ethumb-related binaries. E.g.:
Undefined symbols for architecture x86_64:
"_ECORE_COCOA_EVENT_EXPOSE", referenced from:
_ecore_evas_cocoa_new_internal in modules_ecore_evas_engines_cocoa_module_la-ecore_evas_cocoa.o
"_ECORE_COCOA_EVENT_GOT_FOCUS", referenced from:
_ecore_evas_cocoa_new_internal in modules_ecore_evas_engines_cocoa_module_la-ecore_evas_cocoa.o
"_ECORE_COCOA_EVENT_LOST_FOCUS", referenced from:
_ecore_evas_cocoa_new_internal in modules_ecore_evas_engines_cocoa_module_la-ecore_evas_cocoa.o
"_ECORE_COCOA_EVENT_RESIZE", referenced from:
_ecore_evas_cocoa_new_internal in modules_ecore_evas_engines_cocoa_module_la-ecore_evas_cocoa.o
"_ECORE_COCOA_EVENT_WINDOW_DESTROY", referenced from:
_ecore_evas_cocoa_new_internal in modules_ecore_evas_engines_cocoa_module_la-ecore_evas_cocoa.o
"_ecore_cocoa_init", referenced from:
_ecore_evas_cocoa_new_internal in modules_ecore_evas_engines_cocoa_module_la-ecore_evas_cocoa.o
"_ecore_cocoa_screen_size_get", referenced from:
__ecore_evas_screen_geometry_get in modules_ecore_evas_engines_cocoa_module_la-ecore_evas_cocoa.o
"_ecore_cocoa_shutdown", referenced from:
_ecore_evas_cocoa_new_internal in modules_ecore_evas_engines_cocoa_module_la-ecore_evas_cocoa.o
__ecore_evas_cocoa_free in modules_ecore_evas_engines_cocoa_module_la-ecore_evas_cocoa.o
Undefined symbols for architecture x86_64:
"_ethumb_calculate_aspect_from_ratio", referenced from:
__resize_movie in modules_ethumb_emotion_module_la-emotion.o
"_ethumb_calculate_fill_from_ratio", referenced from:
__resize_movie in modules_ethumb_emotion_module_la-emotion.o
"_ethumb_ecore_evas_get", referenced from:
__frame_decode_cb in modules_ethumb_emotion_module_la-emotion.o
"_ethumb_evas_get", referenced from:
__thumb_generate in modules_ethumb_emotion_module_la-emotion.o
__finish_thumb_generation in modules_ethumb_emotion_module_la-emotion.o
"_ethumb_finished_callback_call", referenced from:
__thumb_generate in modules_ethumb_emotion_module_la-emotion.o
__frame_decode_cb in modules_ethumb_emotion_module_la-emotion.o
__finish_thumb_generation in modules_ethumb_emotion_module_la-emotion.o
"_ethumb_image_save", referenced from:
__frame_decode_cb in modules_ethumb_emotion_module_la-emotion.o
"_ethumb_plugin_image_resize", referenced from:
__resize_movie in modules_ethumb_emotion_module_la-emotion.o
"_ethumb_plugin_register", referenced from:
__module_init in modules_ethumb_emotion_module_la-emotion.o
"_ethumb_plugin_unregister", referenced from:
__module_shutdown in modules_ethumb_emotion_module_la-emotion.o
EAPI was not well re-defined in both cases. It has been handled in
ecore_cocoa_private.h and ethumb_private.h. These files must be included
after a main library header (because EAPI is undef there).
Reviewers: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2483
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Since there is infra to support EXIF orientation in the loaders, we don't need to use libexif explicitely.
(Currently jpeg loader support EXIF orientaion fully.)
@fix
Test Plan: generate thumbnail of "Light_exif_*.jpg" in efl/src/tests/evas/image/ -> check whether the image is rotated properly or not
Reviewers: raster, cedric
CC: seoz, cedric
Differential Revision: https://phab.enlightenment.org/D1142
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
Summary:
setup related API was not working at all due to below problems
1. dbus type signature is wrong. it's array of dictionary not array of struct
2. since quality value was assigned to compress value, there was a problem during saving png image (out of bound)
3. orientation_set API was not working except NONE and ORIGINAL
@fix
Test Plan: make thumbnail by using elm_thumb_add -> orientation set to 90 CCW -> check whether image is rotated properly or not
Reviewers: raster, cedric
CC: seoz, cedric
Differential Revision: https://phab.enlightenment.org/D1138
Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
this makes efl ignore certain env vars for thnigs and entirely removes
user modules (that no one ever used) etc. etc. to ensure that *IF* an
app is setuid, there isn't a priv escalation path that is easy.
above, so fix. On a mkpath failure, print out the message, Then free
dname. Be sure to also free dname if we do not error.
NB: Fixes Coverity CID1039893
Signed-off-by: Chris Michael <cp.michael@samsung.com>