IVI-Shell is a wayland shell implementation for in-vehicle infotainment.
Summary: This is a set of patches proposed to implement IVI-Shell (https://phab.enlightenment.org/T1552).
Reviewers: ntanibata, devilhorns
Subscribers: mbachmann
Projects: #efl
Differential Revision: https://phab.enlightenment.org/D1350
@feature
While we are likely will keep the embedded copy for a while to avoid a really
new dependency we allow now to use the external liblz4. You need at least
revision r120 and a package that ships the pc file for it.
Personally I would like to get rid of it rather sooner than later due to the
security implications and a bunch of code we ship but have no idea about.
Reality is that it will need some time until this new lib is actually
packaged and shipped with releases for a a majority of people.
This patch was co-worked with Doug Newgard <scimmia22@outlook.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>
This reverts commit bf8aba5f9f.
This warning is actually wanted. We do want to know when things get deprecated and
not discover that to late. This warning come from the use of gettext 0.17. Once we
move out of it, we will be fine. As a reminder and for keeping track of other
future deprecated macro, we should never use that flag !
Note: This is the second time I revert such a patch, I would really like people
stop disabling warning with this nasty work around.
Summary:
Below was the warning:
configure.ac:247: warning: The 'AM_PROG_MKDIR_P' macro is deprecated, and its use is discouraged.
configure.ac:247: You should use the Autoconf-provided 'AC_PROG_MKDIR_P' macro instead,
configure.ac:247: and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files.
@fix
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1341
Reverts 21da4a5454.
It is needed to generate Makevars in-tree even when building out-of-tree because of
how Autotools work. However, distcheck doesn't properly remove the Makevars file in
the generated distdir and makes po/ read only, preventing the build system from
generating an up-to-date version of Makevars. This commit adds the required hooks
needed to fix this behavior.
With commit 6030b9de79 the internal name EFL
name was changed to EFLALL but the needed CFLAGS and LDFLAGS for coverage
have not been adjusted. Thus it was simply no longer producing the gcda
files needed by lcov.
All back now and it shows an amazing jump in our coverage to:
Overall coverage rate:
lines......: 31.6% (45827 of 144975 lines)
functions..: 41.1% (5620 of 13684 functions)
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
This reverts commit dd37d2bc07.
This breaks make distcheck. Looking at this commit I really wonder if it does
anything good. It seems to work for po_makefile_in. It also breaks for
distcheck which is using out of tree builds in the _build folder.
If someone can explain me why something like this is needed for makevars I
want to hear it. getting a fix in that does not break distcheck would be fine
I guess.
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
At least with systemd 208 there is no pc file for just libsystemd. It is split
into daemon id128 journal and login. We only need login here so only require it.
Eldbus works asynchronously, but we need syncronous method calls to
get the replies from opening input devices, so let's just use normal
dbus
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Ecore_Drm will now require dbus, systemd, and systemd-login support in
order to open input devices as a normal user
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This reverts commit ff5a57aafd.
Edje is not using dlopen directly but luajit is. Seems some distros are missing
dlopen for there luajit package. Nothing we should workaround here.
Summary:
AC_HELP_STRING --> AS_HELP_STRING
AC_TRY_COMPILE --> AC_COMPILE_IFELSE + AC_LAGN_PROGRAM
those are deprecated for almost 10 years
autoupdate tool do this automatcally.
@fix
Reviewers: raster, cedric, stefan_schmidt
CC: cedric
Differential Revision: https://phab.enlightenment.org/D1088
will be used to handle i18n for lua files in EFL (because only gettext 0.18.3+ supports Lua) and it'll be usable standalone too, it will also be able of handling more things than lua support in xgettext does (e.g. concatenated string literals will be considered one string)
Elua is a LuaJIT based runtime for the EFL meant to provide facilities for rapid application development. The name is temporary. The EFL bindings will be generated with Eolian. @feature
This allows people to disable the building of anything GUI related.
In my case, it is used for servers.
I encourage anyone that think they can do a better patch to improve it,
as i dislike having to add all those AM_CONDITIONAL().
Maybe the macros should be improved.
Summary:
Vanish with these:
src/Makefile_Eolian_Helper.am:15: warning: '%'-style pattern rules are a GNU make extension
src/Makefile.am:36: 'src/Makefile_Eolian.am' included from here
src/Makefile_Eolian.am:42: 'src/Makefile_Eolian_Helper.am' included from here
src/Makefile_Eolian_Helper.am:18: warning: '%'-style pattern rules are a GNU make extension
src/Makefile.am:36: 'src/Makefile_Eolian.am' included from here
src/Makefile_Eolian.am:42: 'src/Makefile_Eolian_Helper.am' included from here
src/Makefile_Eolian_Helper.am:21: warning: '%'-style pattern rules are a GNU make extension
Reviewers: tasn, cedric
CC: JackDanielZ, smohanty, felipealmeida, raster, cedric
Differential Revision: https://phab.enlightenment.org/D894
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
Summary:
EFL_PTHREAD_CFLAGS are needed for tests and users that use
efl::eina::thread's and EFL_PTHREAD_LIBS to eina_cxx, eo and evas examples.
Reviewers: cedric, stefan, stefan_schmidt
CC: cedric, savio
Differential Revision: https://phab.enlightenment.org/D832
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
Summary:
This patch fixes T1226 by adding a Makefile.examples to
examples/eolian_cxx. It also fixes a bug in bin/eolian_cxx: the
include paths were not being correctly generated for directories
outside EFL tree.
Reviewers: cedric, smohanty, stefan_schmidt, stefan
CC: uartie, wayland-efl, felipealmeida, raster, woohyun, cedric
Maniphest Tasks: T1226
Differential Revision: https://phab.enlightenment.org/D824
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
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>
Summary:
This patch adds 'eolian_cxx' -- a C++ bindings generator --
to the EFL tree. Eolian Cxx uses Eolian API to read .eo files and generate
.eo.hh. It relies/depends on Eo Cxx and Eina Cxx (both non-generated
bindings).
src/bin/eolian_cxx: The eolian_cxx program.
src/lib/eolian_cxx: A header-only library that implements the C++ code
generation that binds the .eo classes.
=Examples=
src/examples/eolian_cxx/eolian_cxx_simple_01.cc: The simplest example,
it just uses some "dummy" generated C++ classes.
src/examples/eolian_cxx/eolian_cxx_inherit_01.cc: Illustrates how
pure C++ classes inherit from .eo generated classes.
src/examples/evas/evas_cxx_rectangle.cc: More realistic example using
the generated bindings Evas Cxx. Still a bit shallow because we don't
have full fledged .eo descriptions yet, but will be improved.
=Important=
The generated code is not supported and not a stable API/ABI. It is
here to gather people interest and get review before we set things in
stone for release 1.11.
@feature
Reviewers: cedric, smohanty, raster, stefan_schmidt
CC: felipealmeida, JackDanielZ, cedric, stefan
Differential Revision: https://phab.enlightenment.org/D805
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
We only support the Wayland EGL engine build with OpenGL ES but not full
OpenGL. Reflect this in our configure to avoid compile errors after a
successful configure run. Fixes T1202
@fix
Since Lua is already a dependency for Edje, I believe it is safe
to add it as a dependency for Evas as well.
This will be used to replace the (bad) scripting language used for
the Evas filters (text effects).
Enable 3D features using --enable-evas-3d=yes when configuring.
APIs are exposed through Evas_3D.h.
Currently, evas-3d is being supported only on gl_x11 engine.
Conflicts:
src/lib/evas/Evas_Eo.h
Due to the amount of generated debug messages from eolion generation
we end up with 3.8GB log files for elm builds when efl was build with
coverage enabled. Temporary disable this until eolion is fixed and
we can turn it on again.
Added eet into internal dependencies for ecore_evas_connect, ethumb, ethumb_client
I got below errors for ecore_evas_connect, ethumb, ethumb_client
lib/evas/.libs/libevas.so: undefined reference to `eet_data_image_colorspace_get'
lib/evas/.libs/libevas.so: undefined reference to `eet_data_image_read_to_cspace_surface_cipher'
collect2: error: ld returned 1 exit status
The autogenerated check macro by autotools lead to a huge number of file
being added on the command line of a script, when the only things it does
is to test for the definition of those strings.
Hoping this is going to fix the problem. If that doesn't we will need to write
our own CHECK macro here.
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.
To build SDL with OpenGL ES we need a SDL version which ships these headers
which only starts with SDL 2.x. So we only allow it for full OpenGL right
now until someone wants to port our code over to SDL 2.x
Fixes T856
@fix
configure: fix prerequisite header issue
Summary:
in some platforms like openBSD <sys/socket.h> must be included before
net/if.h
the canonical way to ensure that with autotools is by providing that
fourth directive.
evas: use MAP_ANON instead of MAP_ANONYMOUS
Stupid unpredictable standards (or not so standard).
MAP_ANON exists and is defined almost anywhere unlike MAP_ANONYMOUS
Let's use that for portability's sake (they are practically identical
anyway)
Reviewers: raster, cedric
Reviewed By: cedric
CC: cedric
Differential Revision: https://phab.enlightenment.org/D616
Signed-off-by: Cedric BAIL <cedric.bail@free.fr>
@feature: Add xkbcommon as a dependency for ecore_drm so we can
process input keys
In order for keyboard input to work for ecore_evas_drm, we will need
to translate keypress events into meaningful key names, so require
xkbcommon to deal with the translation.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Some people (I'm one of them) will do user-local builds of EFL and
don't want to install services in /usr, or provide links, rather
choosing to install in ~/.local/share/dbus-1. Then figure out this
case and do not show an alert when the setup is ready.
As we mention $XDG_DATA_DIRS in our alert, we should not do the alert
when the user follows its recommendation. This is now checked.
And handle systemd services if they are used.
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.
Added edje into internal dependencies for ethumb_client.
I got below error.
/usr/elocal/lib/libedje.so.1: undefined reference to `evas_object_line_class_get'
collect2: error: ld returned 1 exit status
make[4]: *** [bin/ethumb_client/ethumbd] Error 1
make[4]: *** Waiting for unfinished jobs....
@bugfix: Drm is optional, so ecore-evas should not internally depend
on it unless ecore-drm is found.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
Instead of relying on ${prefix}/share to be the default for ${datadir} or
${dbusservicedir} use the actual paths where the files will be placed.
Somewhat tricky because of autoconfs desire to keep prefix changeable but
continuously evaluating the variables until they don't change work.
Reviewers: raster, englebass
Reviewed By: raster
CC: cedric, stefan_schmidt
Differential Revision: https://phab.enlightenment.org/D581
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>
now that we don't load modules from user dirs anymore - just system,
we can nuke os/arch from module dir and just keep version. since abi
for a module should be stable for a 1.X release series, we dont need
micro, just 1.9 (or 1.10 etc.). this makes thnigs a bit cleaner and
simpler for emotion_generic_players
It is to fix possible build break of ethumb
I got below message.
lib/edje/.libs/libedje.so: undefined reference to `ecore_imf_context_retrieve_selection_callback_set'
collect2: error: ld returned 1 exit status
make[4]: *** [bin/ethumb/ethumb] Error 1
apparently I read the commit order wrong and this fix went in for 1.4.0, not 1.3.2, which means anyone who has 1.3.2 has been having lots of fun crashes for the past 24 hours
this was a fixme which was likely written sometime before July 2010 when the bug was fixed, just prior to the 1.3.1 release. I think it's probably okay to require that release since it's been 3+ years.
ac_cv_prog_cc_c99 being empty just means there is no need to add
any flags for the compiler to be C99-capable.
"no" means the compiler isn't C99-capable.
The check is actually unnecessary as EFL demands a C99-capable
compiler these days but if that every changes ...
Reviewers: zmike
CC: cedric
Differential Revision: https://phab.enlightenment.org/D443
Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
Some commits to port emotion to GStreamer 1.0 and implement some missing features,
clean up code a bit and fix some bugs on the way.
This works as good as the 0.10 code for me now with the emotion examples,
just the Samsung hardware specific code is commented out. This should be
ported by someone who has such hardware, and also in a clean way now that
GStreamer since 1.0 has features to handle all this properly.
There's still a lot of potential to clean things up and fix many bugs, and also
to implement zerocopy rendering. But those are for later if there's actual
interest in this at all.
Commits:
- Update configure checks and ecore example to GStreamer 1.0
- Initial port of emotion to GStreamer 1.0
- Samsung specific code commented out, should be ported by someone
with the hardware.
- Return GST_FLOW_FLUSHING when the sink is unlocked
- Remove unused GSignal from the sink
- Use GstVideoInfo to store the format details inside the sink
- Add support for pixel-aspect-ratio
- Store video format information in GstVideoInfo for the different video streams
- Use GstAudioInfo to store the audio format information
- Remove some unused defines
- Header cleanup
- Implement initial support for GstNavigation interface
- Implement setting of audio/video channel
Reviewers: cedric
CC: cedric
Differential Revision: https://phab.enlightenment.org/D387
Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
This reverts commit d93c4b2307.
Auto is not an option, and does not mean it'll be automatically
detected.
What auto means is that unless explicitly enabled/disabled it'll check
according to the build profile and will enable it automatically if using
the dev profile.
string identifying the build (vendor, maintainer, etc). It defines
EFL_BUILD_ID with default to "none". It can be used by applications
or for bug reports by including Efl_Config.h
Differential Revision: https://phab.enlightenment.org/D288
We need the wayland-scanner program to auto-generate the
subsurface protocol source files from subsurface.xml
Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
this makes curl support a pure runtime-only thing. libcurl is loaded by
eina_module (dlopen/dlsym) when curl is actually first needed (when a
url connection/object is created). this means that ecore-con has no
link or compile dependencies on curl, only runtime, AND this saves
memory (due to curl inits using apparently a chunk of private pages).
so this saves memory and moves the dependency to runtime (though still
consider libcurl a dependency of efl - but like a binary executed,
it's at runtime).
So current order is :
- __builtin_bswap*() for compiler that provide it
- _byteswap_*() for MSVC
- bswap_*() for older Linux and some BSD
- own C code when everything else fall appart.
The reason for this order is that the builtin will always generate
the best assembly possible. On my system bswap_*() are not changing
in all version to the best solution as they are almost equivalent to
the C macro.
This add finally support for JPEG 2000, but be aware that libopenjpeg
is very badly managed. There is currently only version 1.5.x that does
provide the right files, is usable by a third party and portable. You
can seriously forget any other version.