libopenjp2.so on Debian belongs actually to openjpeg-2.1, while
libopenjpeg.so belongs to openjpeg-1.5.
The function opj_set_default_decoder_parameters exists in both versions.
Thus another unique to openjpeg-1.5 function must be chosen to check,
whether libopenjp2 is a right one.
Fixes https://phab.enlightenment.org/T3064
Summary:
Everything is implemented except visualization, mouse events and some
EMOTION_EVENT. Video can output RGBA, YUY2, YV12 or I420.
About the video sink: this emotion module use libvlc callbacks:
libvlc_video_set_format_callbacks and libvlc_video_set_callbacks. It may be
temporary. Indeed, an other solution is to add an Evas module inside vlc. But
this vlc module would need to link with emotion in order to use
_emotion_frame_new and _emotion_frame_resize private functions. I didn't
succeed to output a frame without these private functions: see
15daff4d3f
List of /* FIXME */:
- Visualization not implemented since there is no API (for now) in libvlc.
- Mouse events not implemented since there is no API (for now) in libvlc.
- Some EMOTION_EVENT are not handled.
- SIGSEGV in evas_gl_common_texture_nv12_update with
EVAS_COLORSPACE_YCBCR420NV12601_PL colorspace.
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3071
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
added support to set thread names for debugging. this wraps the gnu
extension to set a thread name of up to 15 chars (16 inc nul byte).
eina_thread_name_set() is the new api.
@feature
in the process i found the autofoo wasnt enabling cpu affinity support
at all in reality, so i had to fix that at the same time.
Some files were still including SDL-1 headers even though we only link
against SDL2 libs.
URL: https://bugs.gentoo.org/551882
Reported-by: Barnaby <badbit@me.com>
Reported-by: Romain Naour <romain.naour@openwide.fr>
Summary: As per cedric, remove tests for egl specific version(s) when
building wayland engines.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: Since we won't need gl library unless we are building
evas-gl-drm engine, move the checks for with_opengl config option to
the gl_drm engine checking macro. Also, since gl_drm is ONLY supported
if we have --with-opengl=es configure option, let's error out with a
message if someone passes anything Other than with_opengl=es.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Cedric, our dear b0rker, introduced changes in the CFLAGS
generation when merging Emile. While the changes seem to make sense
at first sight (add the -I flags for the lib our new package depends on),
they were actually a terribly bad workaround.
The number of CFLAGS args would grow exponentially, slowing down libtool
a lot, which is known to be slow when it has a lot of arguments.
@fix
Summary:
This fixes following build script problems for ecore_evas_drm engine module.
1. Missing link to gbm for ecore_evas_drm if '--enable-gl-drm' option is given.
ecore_evas_drm engine is using gbm function if it builds with that config option.
To be more exact, ecore_evas_gl_drm_new_internal function needs gbm.
Thus we need to add gbm library linking '-lgbm' to ecore_evas_drm engine module
if '--enable-gl-drm' option is given. I've added this build script to
m4/ecore_check_module.m4 file.
2. Wrong gbm dependency check code in configure.ac
EFL_OPTIONAL_INTERNAL_DEPEND_PKG m4 macro function is designed for checking
dependency of efl internal libraries. Thus we should remove gbm pkg name when
configuring ecore_evas_drm engine module. It would be better to move dependency
check for gbm to m4/ecore_check_module.m4 file. And one more thing want_drm
value has to be changed to want_gl_drm in ECORE_EVAS_MODULE([gl-drm]...).
3. BUILD_ECORE_EVAS_OPENGL_DRM macro is always defined in configure.ac.
This kind of macro, BUILD_EFL_MODULE_NAME, has to be defined only if given module
is enabled. But this macro value was just defined with no test.
And it is even useless, we can use BUILD_ECORE_EVAS_GL_DRM macro which is defined
by ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}],...) function.
So I've removed that from configure.ac.
Test Plan:
1. Configure with --enable-gl-drm:
$ ./autogen.sh --enable-drm --enable-gl-drm
2. Build:
$ make && make install
3. Check module.so of ecore_evas_drm engine whether it has a library dependency with gbm:
$ readelf -a $EFL_GIT/src/modules/ecore_evas/engines/drm/.libs/module.so | grep NEEDED
Reviewers: raster, stefan_schmidt, devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1379
Summary: The '-e' option does not exist in BSD-echo, nevertheless it behaves by default like the "echo -e" of the GNU-echo.
Reviewers: raster, cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1376
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: Support of Spinlocks in Eina (Eina_Spinlock) for OSX, which does not implement them in pthread.
@feature
Reviewers: raster, raoulh, naguirre, cedric, stefan_schmidt
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1151
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: This is the first step to introduce a gl-drm backend.
Test Plan: "ecore evas" create with ecore_evas_gl_drm_new(). It creates "ecore evas" with gl_drm evas backend.
@feature
Reviewers: raster, Hermet, cedric, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1187
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
If we have "wayland-egl" and choose to use another engine than "gl"
("glesv2" with "--with-opengl=es" e.g.), then we are in a case where
linking with libGL is not necessary. This is especially useful on a
pure Wayland system.
Signed-off-by: Manuel Bachmann <manuel.bachmann@open.eurogiciel.org>
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
@fix
Segfault in wayland_egl engine is casused by illegal library linking.
Fix this by linking to GLESv2 and EGL libraries.
Test Plan: N/A
Reviewers: devilhorns, raster, cedric, Hermet
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1332
This adds the inheriting constructor feature test to the m4 macros to
avoid compilation of the C++11 binding in constructors without this
features, where they would unavoidably fail compilation. This
eliminates GCC 4.7.x since inheriting constructors were available only
from GCC 4.8 and forward.
Summary:
This patch fixes following two problems:
1. libevas.so library has a dependency with ecore_drm if '--enable-drm' configure
option is given. This problem is due to 'EFL_INTERNAL_DEPEND_PKG([EVAS], [ecore-drm])'
in m4/evas_check_engine.m4 file. A dependency with ecore_drm should be moved to evas
drm engine not libevas.so. And also this macro makes an error while installation of evas.
$ make uninstall; ./configure --enable-drm; make && make install
2. missing ecore_drm dependency for evas drm engine.
USE_ECORE_DRM_LIBS macro should be used for building evas drm engine with ecore_drm
library. ECORE_DRM_LIBS macro doesn't have 'libecore_drm.la'. It is used for building
ecore_drm library.
@fix
Fixes T1473
Test Plan:
1. Remove EFL libraries in installation path: $ make uninstall
2. Configure with --enable-drm: $ ./autogen.sh --enable-drm
3. $ make && make install
4. Check module.so of evas drm engine whether it has a library dependency with ecore_drm
$ readelf -a $EFL_GIT/src/modules/evas/engines/drm/.libs/module.so | grep NEEDED
$ readelf -a $INSTALL_PATH/lib/evas/modules/engines/drm/v-1.11/module.so | grep NEEDED
Reviewers: stefan_schmidt, devilhorns, raster
Subscribers: cedric, torori
Differential Revision: https://phab.enlightenment.org/D1271
Summary:
With removing of pkgconfig checking on EVAS_CHECK_ENGINE for drm,
evas_drm engine need to setup libs including internal ecore-drm.
But, the evas_drm engine have missed ecore-drm libs because it have been
done after finishing setup library of evas.
This revision moves setup dependendency for ecore-drm into proper place.
Test Plan:
1. Build EFL with --enable-drm
2. ELM_ENGINE=drm E_WL_FORCE=wayland_shm enlightement_start
Reviewers: gwanglim, devilhorns, stefan_schmidt
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1249
At the moment we use the fake "efl" library as a dependency for
everything and use it as a way to have global cflags and lib deps. This
is bad as we'd like to have a "real" libefl.
I changed EFL to EFLALL as the new name. Easy to change to something
else if anyone finds this name lacking. It's internal.
Using pkgconfig for internal libs turns out to be not a really good idea. It
works fine if you already have an efl install with the needed ecore-drm.pc
file but it will fail if you build from scratch.
We already have a m4 macro for these internal dependencies. Make use of it
for the evas drm engine depending on ecore-drm.
Fixes T1432
Summary:
Fixed distcheck for Eolian C++. Made the generated files as
nodist so it doesn't get picked up for generation way too
early.
Reviewers: cedric, seoz
CC: cedric
Maniphest Tasks: T1220
Differential Revision: https://phab.enlightenment.org/D820
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
The TGV file format is specifically created for Evas. It is designed to allow
region decompression and parallele decompression with a fast path for GPU that
do handle ETC1 compression. Plan for adding other compression method will come
later.
If the dbus service contains SystemdService entry and the dbus-daemon
is started with --systemd-activation, then requests for services on
the user session bus will be handled by systemd, creating cgroups and
being handled as native systemd services of Type=dbus.
@bugfix: Fix issue of building efl without drm or drm hw accel options
By default drm & drm hw acceleration is off as an option. This caused
a problem when passing no options to autogen due to a missing define.
This commit fixes that mess by only defining HAVE_DRM_HW_ACCEL If we
actually have the deps for it, rather than using an AM_CONDITIONAL as
it did previously.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
The goal of this library is to make the life of C++ developers easier
when having to manipulate Eina datatype by providing a layer to abstract
those data type in C++. Check examples for now. Documentation will come
soon, but we are pushing that rather sooner to get feedback on those bindings.
As you will notice, this library is just composed of headers. There is no .so
and we do think it is better this way. Reducing ABI and API stability issue for
applications developers who are the primary target of this binding.
Also please note that you will need to have C++11 to use this binding.
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
This reverts commit 14c6378fc4.
So either we get to fix T880 or T986. I do think the problem is more tricky than
that, so I am for the moment going to get T880 broken rather than T986 as I think
the later will show up in more case for our user base. Will try to find a proper
solution for everyone before the next release.
As already stated before reliably detecting CC, LIBS and CFLAGS parameters for
use with threads is still a pain in 2014. With this patch I am trying to solve
T880 and use ax_pthread.m4. Note that I do not trust this macro more than the
previous one, so if there is any build issue on any system regarding thread, I
may just rollback to the previous code. Still I hope it is an improvement and
that our build system detect thread more reliably.