Commit Graph

936 Commits

Author SHA1 Message Date
Vincent Torri c0d8f1cc37 ecore_con: correctly include sys/ioctl.h
I had to make distclean for this patch to work.

Differential Revision: https://phab.enlightenment.org/D4402
2016-11-16 19:50:24 +09:00
Cedric BAIL dc7806e685 efl: disable backtrace for release too.
User get bitten with this more than they benefit from it. Every use of Eina_Log
will trigger backtrace which clutter the output, confuse and scare users when
they are not suffering anything serious. It is also very trivial for user to turn
it on selectively with EINA_LOG_BACKTRACE when reporting a bug. So let's fallback
to a saner approach. The alternate logical solution would be for application to
just give up on Eina_Log, which is not really acceptable.
2016-11-15 14:10:06 -08:00
Chris Michael fc81a998c8 efl: Remove link to libdrm for Ecore_Drm2
As we are moving to runtime dlsym for libdrm, we don't need to link
against libdrm anymore for Ecore_Drm2

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-15 08:42:07 -05:00
Chris Michael a3721800c4 efl: Require elput for gl-drm
Software drm requires elput in order to function. As gl-drm also uses
ecore_drm2 it should require elput too.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-15 08:42:07 -05:00
Gustavo Sverzut Barbieri 98fe627ca4 efl_net_session and efl_net_control for ConnMan
These are objects to allow control of networking devices
(efl_net_control) as well as an application to request for
connectivity (efl_net_session).

They are loosely based on ConnMan.org, which we already use in
Enlightenment Window Manager via DBus access with Eldbus. However they
do not map 1:1 as the goal was to expose a viable subset of controls
but in a simple and general way, thus nome strings were converted to
enums, some arrays of strings were converted to bitwise flags, some
names were made more general, such as "service" was turned into
"access point" so it doesn't generate confusion with other "network
services" (ie: http server), or "favorite" that was renamed to
"remembered". Some behavior are slightly different (yet able to be
implemented on top), such as "Service.MoveBefore" and "MoveAfter" were
converted to a numeric "priority", calculated from service's list
index, changing the priority will reoder the list and thus generate
the MoveBefore and MoveAfter DBus commands.

ConnMan was chosen not only because we already use it, but because its
DBus API is sane and simple, with the server doing almost all that we
need. This is visible in the efl_net_session, which is completely done
in the server and do not require any extra work on our side -- aside
from talking DBus and converting to Eo, which is a major work :-D

   NOTE: ConnMan doesn't use FreeDesktop.Org DBus interfaces such as
         Properties and ObjectManager, thus we cannot use
         eldbus_model_object.

There are two examples added:

 - efl_net_session_example: monitors the connection available for an
   application and try to connect. You need a connman compiled with
   session_policy_local and a configuration file explained in
   https://github.com/aldebaran/connman/blob/master/doc/session-policy-format.txt
   to get a connection if nothing is connected. Otherwise it will just
   monitor the connectivity state.

 - efl_net_control_example: monitors, plays the agent and configure
   the network details. It can enable/disable technologies, connect to
   access points (services) and configure them. It's quite extensive
   as allows testing all of ConnMan's DBus API except P2P (Peers).
2016-11-08 22:40:34 -02:00
Guilherme Iscaro 70b83ad455 Ecore_Evas VNC: Add frame buffer support. 2016-11-04 18:29:42 -02:00
Carsten Haitzler 4ed2e01591 remove xcb support in ecore_x and evas engines as per mailing list
as per mailing list discussion about dropping xcb support now. it
hasn't been complete for a long time, thus not recommented for being
turned on. as we are moving to a wayland world xcbmakes even less
sense. as agreed, time to clean up a bit and remove a distraction as
well as not well tested code. this also updates po's too.

@feature
2016-11-03 22:22:54 +09:00
Derek Foreman af4a71bcf0 wayland evas engines: share engine info structure
These engines are incredibly similar - by sharing the same engine info
structure we'll be able to simplify the wayland ecore_evas bits and
make them much more maintainable.
2016-11-02 13:37:01 -05:00
Jean Guyomarc'h b5fa168e96
autotools: stop summoning systemd's infernal cow
Systemd support has now been enabled by default on all capable
platforms. By explicitely providing --disable-systemd, one can disable
its integration to EFL.
When I litterally write that I don't want systemd support, please
don't tell me to enable it. It's almost a passive aggression there ;)
2016-10-29 23:43:23 +02:00
Jean Guyomarc'h 403b0ecfa6
ecore_audio: drop support for CoreAudio on macOS
CoreAudio support was initially introduced by commit
62e29b39f4 as an experimental feature.

It played basic sounds, but suffered from drawbacks: it was controlling
the master channel, and therefore any sound played by ecore_audio would
shut down a previous sound (e.g. background music) for the time of the
sound being played. So that wasn't exactly great... Also, after some
time, some hangs have been reported when playing a sound on input. Most
of the time, it translated as a pause in the main loop (see T3797).
More recently (several months ago), ecore_audio with CoreAudio stopped
working during 1.19 development...

So... CoreAudio support on macOS has never been great. And now it's fully
broken. Instead of trying to revive the thing, let just use PulseAudio.
PulseAudio can be installed without any trouble on macOS thanks to
package managers such as Homebrew. Actually, the efl package provided by
Homebrew already provides PulseAudio as a dependency. And it actually
just works very fine. Dropping CoreAudio seems therefore a nice option:
removes unmaintained code, fixes bugs, and add features.
2016-10-29 23:01:38 +02:00
Guilherme Iscaro 4bffa7bfa7 ecore_evas: refactor VNC as an Eina Module.
Summary:
This change removes the necessity to link EFL against the libvncserver

Please ignore the first three commits, they're being reviewed here:

https://phab.enlightenment.org/D4323

Reviewers: bdilly, cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4338

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-10-28 09:56:47 -07:00
Carsten Haitzler 973eaedf51 improve responsivness of timer sleeping threads for vsync with prctl
prctl allows us on some platforms to request a thread be woken up more
agressively e.g. due to a timeout bu setting timerslack. since we use
a dedicated thread just for vsync events, this is a very good idea to
ask the kernel to be as exact as possible for this thread as it only
wakes up once per frame (or should only) and accuracy is important. so
use this.

also improve prctl checks to be more explicit in configure.ac and use
these ifdefs in ecore exe too where prctl is used as well.

@feature
2016-10-28 22:58:36 +09:00
Marcel Hollerbach d896e3efc5 elementary: split up the build options from the main header
This splits up the definitions from the buildtool into a seperated file
called Elementary_Options.h.
Reason for that is, that every single time when someone adds or changes
something in Elementary.h.in you need to rerun configure, to get the new
up to date Elementary.h file. With this commit you have a static none
generated Elementary.h file and the Elementary_Options.h file, which
will be regenerated when platform things are changing.

The version of elementary is now defined as the version of efl, since
they are always the same. So we dont need to generate a seperated
version field.
2016-10-27 13:27:25 +02:00
Chris Michael 17652ee8f3 efl: Remove dependency on wayland-cursor library
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-25 14:22:07 -04:00
Chris Michael 3a44b0fd17 Revert "ecore-wl2: Remove all references to wl_cursor usage"
This reverts commit 173fda5c11.

Reverting this as we need to handle mouse pointers a different way.
2016-10-25 11:07:32 -04:00
Chris Michael 173fda5c11 ecore-wl2: Remove all references to wl_cursor usage
This commit essentially removes the ability to use wl_cursor for EFL
Wayland Client Applications. This is a request from "some old man" ;)
for efl wayland applications to use EFL pointers, not X/FDO pointers.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-21 15:32:47 -04:00
Gustavo Sverzut Barbieri 278866da2c efl_net_dialer_udp: "connect" to an UDP server to send and receive data.
Like existing ecore_con code, this does not use SOCKSv5 UDP
proxy. It's kinda cumbersome to add since requires a keep alive TCP
connection to the server, a second UDP channel and framing around the
original UDP frame.

Added UDP_CORK (if present) to match TCP_UDP present in TCP sockets,
this allows one to execute multiple write() calls that will result in
a single datagram, generated when CORK becomes FALSE again.

The efl_io_copier_example.c now accepts this as output. There is no
input UDP as there is no way to notify the server of a connection
(since such thing doesn't exit), usually servers react after a
datagram is received, replying to the source.
2016-10-18 19:04:00 -02:00
Subhransu Mohanty 45b103eb0a evas/module: add a new module in vg_loader for eet
Reviewers: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4347
2016-10-13 17:09:39 +09:00
Subhransu Mohanty 0d9b168146 evas/module: Added a new module vg_loader for svg
Reviewers: cedric, jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4346
2016-10-12 18:39:10 +09:00
Bruno Dilly 46c48a498c configure: show if vnc server was enabled or not
So we can see by configure log if it should be working =)
2016-09-28 14:42:58 -03:00
Carsten Haitzler b93947e206 efl configure - show that systemd is enabled by default 2016-09-27 15:05:10 +09:00
Amitesh Singh 3b8fbf6901 autotools: correct the configure help for systemd
by default, systemd on linux is enabled. mention this in help
2016-09-27 10:56:47 +05:30
Guilherme Iscaro bc6e8d2692 Ecore_Evas_X: Add VNC draw support.
This patch adds the support to draw the X11 screen contents to
all remove VNC clients.
2016-09-26 22:06:59 -03:00
Tom Hacohen b242f50626 Eo: introducing libeo_dbg.so.
This has been in the making for a very long time. Thanks to Marcel for
reminding me to do it.

What is it?
This is a tool to help application developers debug their apps with
everything Eo. Eo is strict, but not as strict as it can be. Many strict
tests and debug are very expensive to implement, and we have so many
hot-paths that even basic "ifs" to check if debugging is enabled  will
add significant overhead to normal running applications. This is why I
created this library. All the expensive tests and bookkeeping should be
wrapped around with "#ifdef EO_DEBUG". With this change, libeo.so is
compiled twice, once normally, and once with this define set (as
libeo_dbg.so). This means that normal eo code will not be affected, but
if you decide to debug your application, all you need to do is:

LD_PRELOAD=/path/to/libeo_dbg.so ./app

Or use the convenient wrapper:
eo_debug ./app

Which will load the debug heavy version.

What's currently there: at the moment, EO_DEBUG enables xref and
data_xref and stricter tests when fetching object data.
In the future, I also plan introducing "zombie objects", which
essentially mean that objects are never really deleted, so you can query
them long after they are gone to get more information on what they were.
So if for example you have an object id that you want to query after the
object has been deleted, you can.

I also plan on having a way to disable/enable certain debug mode
features via env vars, and maybe make the test suite link against this
one instead of the normal one, and possibly add more internal hooks for
the test suite to better inspect internal state?

P.S: The amount of errors spewed out when running it on elementary_test
makes me wish I wrote this earlier. :(

@feature
2016-09-22 13:59:46 +01:00
Gustavo Sverzut Barbieri f0f9c5d24a libproxy: dlopen() and make it runtime optional. 2016-09-20 15:00:48 -03:00
Gustavo Sverzut Barbieri 0d478c301f efl_net_dialer_tcp: use libproxy settings.
libproxy allows various means to configure a proxy, will load from
gnome and kde configuration settings, envvars, macos and even windows
registry.

curl still doesn't use it, but we can make that later.
2016-09-19 10:01:51 -03:00
Derek Foreman a453599d26 eina_cpu: Detect NEON if available
We may have a few conditionals around that think this has actually been
set at some point, let's surprise them by actually doing that.
2016-09-16 14:10:49 -05:00
Cedric BAIL 2f1d23648a autotools: time to turn on systemd integration by default on Linux. 2016-09-07 11:28:24 -07:00
Jean-Philippe Andre 7b5ec6ce30 configure: Enable elput if wayland is requested
This makes ./configure --enable-wayland work without having to
specify --enable-elput.
2016-08-25 20:10:43 +09:00
Simon Lees 2483f30f48
Fix elementary build when xkbcommon is in a non standard location
@fixes T4413
2016-08-24 18:38:03 +09:30
Jean Guyomarc'h 0ced470e39 ecore_con: fix compiling on OSX and BSD
TCP_CORK is Linux only. TCP_NOPUSH is supposed to
do the same thing than TCP_CORK, but on BSD (including
Mac OS X).

We now check for the existance of TCP_CORK or TCP_NOPUSH,
and use the right option. If none exist, cork_{set,get}
will just fail.
2016-08-23 20:28:44 +02:00
Gustavo Sverzut Barbieri e7df1a7483 efl.net: socket, server and dialer for TCP.
Efl.Net.Server defines how to accept new connections, doing the
bind(), listen() and accept() for protocols such as TCP.

Efl.Net.Dialer defines to to reach a server.

Both are based on Efl.Net.Socket as communication interface that is
based on Efl.Io.Reader, Efl.Io.Writer and Efl.Io.Closer, thus being
usable with code such as Efl.Io.Copier.

The Server will emit an event "client,add" with the established
Socket, which is a child and can be closed by both the server or the
user.

The Dialer extends the Socket and allows for creating one given an
address, that will be resolved and connected.

TCP is the initial implementation so we an validate the
interfaces. UDP, Unix-Local and SSL will come later as derivate
classes.

The examples are documented and should cover the basic principles:

 - efl_io_copier_example can accept "tcp://IP:PORT" and will work as a
   "netcat", can send data from socket, file or stdin to a socket,
   file, stdout or stderr.

 - efl_net_server_example listens for connections and can either reply
   "Hello World!" and take some data or work as an echo-server,
   looping back all received data to the user.

More complex interactions that require a "chat" between client and
server will be covered with new classes later, such as a queue that
empties itself once data is read.
2016-08-22 18:25:14 -03:00
Jean Guyomarc'h 26a26f2304 eina: fix use of strerror_r()
So, first, the wrong strerror_r() was detected on
Mac OS X. Instead of using a complex set of macros
to try to detect which strerror_r() to use, when
it is defined, let the autotools handle that clerverness
for us.
2016-08-22 20:02:02 +02:00
Stefan Schmidt 4bbe8733c4 configure: Switch to dev mode again. Merge window for 1.19 is now open. 2016-08-11 17:54:59 +02:00
Stefan Schmidt 105eb1aca2 release: Update NEWS and bump version for 1.18.0 release 2016-08-11 17:06:30 +02:00
Hermet Park 77d2e0cb95 efl: fix a neon build break.
We found a some build break problem due to a build system.

In efl configuration, our efl configure enables neon if it's available,
but neon gonna partially turned off on evas compilation if the build system
has a non neon CFLAG option (ie, mfpu=vfpv..). In the end, neon is partially enabled
and it turns out a build break.

It's non-sense but we can't allow this breakage.

There is no way to ignore build system option nor override our neon option perfectly,
so, Let efl package ruled by build system overall.
2016-08-04 15:39:51 +09:00
Carsten Haitzler 1f48ce5f6b emotion generic - vlc - make it off by default as 2 video bends is silly
as per bug. requiring by DEFAULT 2 video back ends is rather
rediculous. pick one and the others are optional. you could argue xine
now is barely worth it, but it's stable and works and has proven to be
not any real pain.

gst1 is a more optimal and far more complete/featured backend that the
vlc generic one anyway. vlc generic has the bonus of out-of-process,
but gst1 is pretty stable (unlike the 0.1 backend), so let's not make
peolpe install 2 video backends (or possibly 3 or more) just to build
efl out of the box.

this fixes T4284
2016-08-04 08:04:57 +09:00
Cedric Bail 7925c56ec9 emotion: fix autodetection of emotion generic vlc player module.
T4273
2016-08-03 12:01:17 -07:00
Stefan Schmidt 716be1bae4 release: Update NEWS and bump version for 1.18.0-beta2 release 2016-08-02 22:21:18 +02:00
Cedric BAIL dd1d3f0d2d autotools: since it has been broken for some times and nobody noticed, let's remove per directory support. 2016-08-01 13:36:47 -07:00
Carsten Haitzler 1d0b500fa8 edje - reduce memory footrpint by dlopening ephysics on demand
this saves about another 80Kb or so in dirty pages by only loading
ephysics when needed. This removed ephysics and bullet library dirty
pages from the process space. this is another patch to address T4227.

@fix
2016-08-01 19:11:39 +09:00
Carsten Haitzler d27f5fcab7 ecore_audio - save 232k of real RAM by dlopening depednecies
so libpuls and libsndfile suck in dependencies. they suck in so much
that by the time linking is done we've written to about 230kb of
PRIVATE MEMORY as dirty pages in symbol tablesm global veriables etc.
etc. - this is just horrible. especially if an app never makes any
sound... it's just wasted memory. this stuff is invisible to normal
memory debug tools. so this begins to address things. please see
T4227. my numbers now put me at:

1780Kb total dirty writable mapped from library file pages. down from
2012Kb.

This fixes some memory bloat reported in the above ticket, but there
is more to fix for sure.

@fix
2016-08-01 14:41:15 +09:00
Cedric Bail 3a9d43ff31 eina: add back option lost at some point for debugging. 2016-07-28 21:03:12 -07:00
Stefan Schmidt 1af18a8c85 release: Update NEWS and bump version for 1.18.0-beta1 release 2016-07-26 17:18:24 +02:00
Carsten Haitzler 287c543ea3 efl - when evas generic loaders merged the gst loader was missed. fix
this fixes the missing gst loader from generic loaders.
2016-07-25 15:21:45 +09:00
Stefan Schmidt 556082d2e2 release: Update NEWS and bump version for 1.18.0-alpha2 release 2016-07-23 12:02:52 +02:00
Stefan Schmidt 21b22edee6 release: Update NEWS and bump version for 1.18.0-alpha1 release 2016-07-18 20:50:38 +02:00
Jean-Philippe Andre 54e515bdca config: Add support for profiles and save
Most of these functions actually shouldn't be used by
standard applications. Some are hidden behind @protected.

flush_all() and reload() have not been implemented, on
purpose (save() should flush, and reload is automatic).
2016-06-24 17:10:21 +09:00
Vincent Torri de0d69ea2d Disable XCF module on Windows
Summary: This fixes compilation on Windows: timeout.c is using SIGALRM which is unavailable on Windows

Test Plan: compilation

Reviewers: cedric, jpeg, stefan_schmidt

Differential Revision: https://phab.enlightenment.org/D4058
2016-06-16 15:59:28 +02:00
Cedric Bail d96c52bc30 evas: disable generic loader on Windows.
Generic do use a few primitve that require development, testing and
tunning on Windows (Namely the alarm and shm part).
2016-06-15 10:11:36 -07:00
Carsten Haitzler bdca3df440 configure - remove gnu make hack as it seems to not be needed anymore
as per T3767 it seems that it's not needed. i tested and nothing went
wrong. let's see. fixes T3767

@fix
2016-06-15 15:21:13 +09:00
Vincent Torri 8cccde76fe Ecore: detect ieeefp.h existence instead of including it with compiler's macro
On Solaris, this header is necessary for finite(). Instead of including it
if the sun compiler is used, include it if it exists. This fixes a warning
if gcc is used on Solaris
2016-06-14 18:50:00 +09:00
Marcel Hollerbach 6b74aad023 evas_generic_loaders: port poppler to the cpp api
Summary: This ports the loader to the stable cpp api.

Test Plan: Please test this patch and tell me if there are differences

Reviewers: DaveMDS

Subscribers: jayji

Differential Revision: https://phab.enlightenment.org/D4039
2016-06-14 10:53:34 +02:00
Shinwoo Kim f70be6eb28 Ecore_Input: define data type for joysticks
Summary: This adds support for joysticks for ecore_input

Reviewers: cedric, devilhorns, Sergeant_Whitespace, raster, thiepha, zmike, jpeg

Reviewed By: thiepha, zmike, jpeg

Subscribers: thiepha, stefan_schmidt, zmike, singh.amitesh, Sergeant_Whitespace, jgerecke, cedric, seoz

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D1538
2016-06-13 20:33:29 +09:00
Vincent Torri c5fc0dae0c Elm: fix elementary quicklaunch build on Solaris 2016-06-13 13:24:08 +09:00
Cedric BAIL 692b2c9fc9 eina: add generic infrastructure for a Eina_Safepointer
This is heavily inspired from Eo_Id infrastructure. Main change
are that the lower bit are always guaranteed to be zero and ignored
by all function. Also it may be a little bit less efficient in some
case, but we will tune it once we have real life usage of it.

Eo won't be migrated for 1.18 to it as Eo_Id is deeply integrated
and it is quite risky to touch it so close from a freeze. This can
wait.
2016-06-10 13:57:01 -07:00
Davide Andreoli 25bc0b9785 just a small indent change 2016-06-09 12:54:26 +02:00
Davide Andreoli 62632c5616 poppler: enable again compilation for poppler > 0.40
I'm quite sure my last commit also fix the issue reported by
jpeg. I do not have poppler > 0.40 on my system, so please
report any issue.
2016-06-09 12:45:01 +02:00
Davide Andreoli c5f689a154 Simplify and fix poppler discovery code
Now configure should abort in case poppler is not found (unless explicitly disabled)

I'm still not sure about the hard "poppler < 0.40" requirement
added by jpeg yesterday, we should fix the issue instead of
tell "we don't support it"
2016-06-09 12:33:10 +02:00
Chris Michael d48c95f158 efl: Bump required wayland version
This makes our wayland libraries require newest wayland release of 1.11

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-06-07 08:04:10 -04:00
Jean-Philippe Andre f3b625e547 pdf: Fix build with poppler >= 0.40
This disables PDF load if poppler >= 0.40 (current is 0.42 on
my machine). Those image loaders definitely should be explicitely
enabled or disabled, not enabled based on the system.
2016-06-07 16:29:13 +09:00
Larry Jr 1ba06bb642 eio: Add mime_type property in Eio_Model 2016-06-05 22:08:06 -03:00
Larry Jr c33caa86ab eio: Eio_Model parent_get return parent model 2016-06-05 22:08:06 -03:00
Davide Andreoli e21d357adf Enable evas loaders by default, if dependencies are found
I really cannot see why we should require to use --enable-feature on those, they should be safe.
2016-06-04 21:45:28 +02:00
Davide Andreoli 49fbdc1da9 Fix report for image loaders
In the final report we want to show if the loader is enabled, not if it's wanted
2016-06-04 20:19:54 +02:00
Davide Andreoli b0776cb4ea Fix building of librsvg if requested
This typo was preventing the svg loader to be built in every cases
2016-06-04 20:11:17 +02:00
Davide Andreoli d77dd8d9f1 Configure: 2 small in-string quote changes
This should be harmless and just fix syntax hilighting is some editors (geany at least)
2016-06-04 10:54:40 +02:00
Cedric BAIL 0a7b668249 emotion: properly fix build of vlc generic player. 2016-06-02 10:43:29 -07:00
Chris Michael 5f10ad8155 Revert "Revert "elput: add missing dependency on libudev""
Apparently, libudev is not thread-safe which means we cannot use Eeze
for getting the udev but rather need to actually use libudev, so those
revert needs to be reverted.

This reverts commit 354bc66d0d.
2016-06-02 12:00:32 -04:00
Stefan Schmidt 2782f043a3 build: use the normal efl tree macros for dependency handling
This should hopefully be the last fix for the merged emotion generic player.
2016-06-02 17:27:03 +02:00
Chris Michael 354bc66d0d Revert "elput: add missing dependency on libudev"
A better fix to not use libudev functions has been pushed previously,
so there is no need to add an extra dependency on libudev as we use
Eeze already.

This reverts commit 9d429a7c1f.
2016-06-02 10:26:38 -04:00
Stefan Schmidt 6664229bdc build: use internal dependency for eina and ecore for generic players
On a system without efl installed these two packages would not be found as.
Need to be internal now that we merged them inside efl.
2016-06-02 15:58:35 +02:00
Stefan Schmidt 9cb1190f00 elementary: add missing dependency on libwayland-client in elm_cnp
lib/elementary/.libs/lib_elementary_libelementary_la-elm_cnp.o: In function `wl_data_offer_accept':
/usr/include/wayland-client-protocol.h:893: undefined reference to `wl_proxy_marshal'
/usr/include/wayland-client-protocol.h:893: undefined reference to `wl_proxy_marshal'
collect2: error: ld returned 1 exit status

Based on a patch by aerodynamik. Thanks!

Fixes T3398
2016-06-02 15:34:18 +02:00
Stefan Schmidt 9d429a7c1f elput: add missing dependency on libudev
Elput is using udev directly so we need to amke sure we link against it.

lib/elput/.libs/lib_elput_libelput_la-elput_input.o: In function `_elput_input_init_thread':
/<<PKGBUILDDIR>>/src/lib/elput/elput_input.c:317: undefined reference to `udev_new'
/<<PKGBUILDDIR>>/src/lib/elput/elput_input.c:326: undefined reference to `udev_unref'

Patch by aerodynamik. Thanks!

Fixes T3712
2016-06-02 15:34:18 +02:00
Cedric BAIL 6b5ed1b711 evas: integrate evas generic loaders into our single tree build system. 2016-06-02 11:35:05 +01:00
Cedric BAIL 36f15d761a emotion: integrate generic legacy vlc support in the build system. 2016-06-02 11:35:05 +01:00
Carsten Haitzler aec0cb9a67 elm fileselector - make ok/cancel in selector configurable per os
so the theme build can order ok/cancel based on preference for an os,
so make configure have an option for this and build the theme
specifically based on that option. enable the option if you want mac
style cancel, ok or default ok, cancel as is common elsewhere.

  --enable-cancel-ok

is the option

@feature
2016-06-02 18:38:57 +09:00
Chris Michael af22796356 ecore-drm: Deprecate Ecore_Drm library
Small patch to deprecate Ecore_Drm. This patch also adds a configure
option to enable ecore_drm for older code. This option is disabled by
default, so must be explicitly specified during build.

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-31 10:05:28 -04:00
Jean Guyomarc'h 0bb75b5fb6 autotools: remove random echo
It seems it was a debug echo that was never removed.
2016-05-28 19:19:01 +02:00
Jean Guyomarc'h 543394344d autotools: fix use of EFL_WITH_BIN
EFL_WIN_BIN takes only two arguments.
2016-05-28 19:19:01 +02:00
Jean Guyomarc'h 9e761c9515 autotools: check for sched_getcpu()
sched_getcpu() is glibc-only, so not portable. Mac OS X
does not have it, and has no obvious replacement function.

This commit will allow future code to test for the existence
of this function, to provide fallbacks instead of making
compilation fail.
2016-05-28 19:14:16 +02:00
Jean Guyomarc'h 0193600e48 autotools: improve libunwind detection
Libuwind may not be shipped with a pkg-config file.
It can be distributed on the system, but the autotools
would fail to detect it because it relied only on pkg-config.

We now first check with pkg-config, and then try to compile and
link a program using libuwind to see if it is supported anyway.

This is a first step towards a working eina_log_backtrace on
Mac OS X.
2016-05-28 19:13:10 +02:00
Jean Guyomarc'h d1127c6a5b autotools: fix configuration of Ecore_Cocoa
On Mac OS X, we are using OBJC, not GNU-OBJC.
This test seems unnecessary as well, as a longuage tests
and a linking test are performed later.

Fixes T3710.
2016-05-28 10:52:09 +02:00
Chris Michael 93178199a6 ecore-evas: Port ecore_evas drm engine to use Ecore_Drm2 library
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-27 11:57:53 -04:00
Chris Michael a0d3b955bf ecore-drm2: Add start of Ecore_Drm2 library
This new library is going to replace the existing Ecore_Drm. This will
refactor a lot of the code, bring improvements over the existing API,
and provide additional support for missing features.

@feature

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-27 11:57:53 -04:00
Carsten Haitzler 1eba9d9de0 ecore-con - simplify down to a single libc resolver
Summary:
this removes the cares/ares based resolver and the compiled-in dns.c
resolver, modified the getaddrinfo based resolver to use threads not
forking (almost halving its size) and now makes that the only resolver
we have. getaddrinfo handles ipv6 and ipv4 (according to docs). this
simplifies code paths, drops code size of the efl tree by about 11k
lines of code, makes it easier to test and more robust to future
changes with ip resolving as it now just relies on libc. we won't have
coverity complaints on dns.c imported code anymore to fix and don't
have tokeep up with bugfixes/security from the upstream imported code.
this means we use a single resolver on all platforms (windows, mac,
linux) as opposed to before where cares was used for windows, and
dns.c on linux/mac. oh and the forking original was broken since our
move to eo too. so it couldnt even compile if enabled, letalone work.

so fix bug with missing /etc/resolv.conf that dns.c couldn't cope
with, fix testability, fix maintainability and reduce efl codebase size.

this fixes T3668

@fix
@improve

Subscribers: cedric, seoz, jpeg

Maniphest Tasks: T3668

Differential Revision: https://phab.enlightenment.org/D3971
2016-05-24 09:20:49 +09:00
Chris Michael 3940ff7f8b efl: Define if systemd version >= 209
Elput conditionally requires this to choose proper codepath wrt systemd-logind

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-18 16:42:59 -04:00
Felipe Magno de Almeida 5d5c04fd66 js fixes 2016-05-18 17:52:47 +02:00
Mike Blumenkrantz 4328425392 build: more non-cocoa fixes
ref 1f03bba199
2016-05-16 12:02:16 -04:00
Mike Blumenkrantz 83b9a7e31b fix non-cocoa configure/build
ref 1f03bba199
2016-05-16 11:47:04 -04:00
Jean Guyomarc'h 1f03bba199 autotools: enable gl_cocoa on OS X by default
Before this commit, X11 (via Xquartz) was the default engine to be
enabled on OS X.
Since the Cocoa backend became quite stable and considering applications
running within the Xquartz windowing environment are arguably ugly,
the Cocoa backend will now be enabled by default and X11 will be
selected only if explicitely requested.
2016-05-16 16:10:13 +02:00
Cedric Bail fbf7948d26 ecore: move ecore before evas so that all dependencies are build in correct order. 2016-05-15 08:58:49 -07:00
Cedric Bail dd649ab639 autotools: make Windows and MacOS X not require the long flags.
This is been done to enable a bigger community on those platform. We
do hope that Gentoo will not abuse it.
2016-05-15 06:44:49 -07:00
Cedric Bail 1a001d38d4 evas: make ecore a dependency.
As packager will need to update their package anyway with 1.18 it is a
good time to finally make evas depends on ecore. This should enable
refactoring and simplifying a lot of complex code in EFL. This really
should have been done like that from the beginning.
2016-05-15 03:45:54 -07:00
Chris Michael 8a47b7a4ec efl: Make building Ecore_Wayland optional
This patch makes building Ecore_Wayland library disabled by default
but provides an option to enable it (if needed).

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-06 15:51:56 -04:00
Mike Blumenkrantz 9d5caf00b6 wayland: implement session recovery
add support for reconnecting wayland applications if the compositor dies

disconnect -> destroy gl ctx + image textures -> block rendering ->
reconnect -> create gl ctx -> create image textures -> unblock rendering ->
sprinkle special seasoning on top -> just like ma used to make

 #SamsungFeatures

@feature
2016-05-05 10:49:31 -04:00
Carsten Haitzler 6aec9d4b68 Revert "tiff: disable by default as it is full of CVE with apparently no chance to get them fixed."
This reverts commit b8860c88f5.

i wouldn't call this full of CVE's:

http://www.cvedetails.com/product/3881/Libtiff-Libtiff.html?vendor_id=2224

i do notice various CVE's on libtiff's mailing list have had patches
committed. the CVE db doesn't track if the CVE has been fixed by
upstream (in an easy to find way) and in which version or on what date so
the CVE db simply is all CVE's since the dawn of time that were ever filed.
2016-05-02 08:02:09 +09:00
Cedric Bail b8860c88f5 tiff: disable by default as it is full of CVE with apparently no chance to get them fixed.
This can still be manually turned on if you need it.
2016-04-29 18:56:51 -07:00
Chris Michael af30057999 efl: Add uuid as a dependency for Ecore_Wl2
Since session recovery is now included in Ecore_Wl2 library, we should
add a dependency on the uuid library. Thanks to aerodynamik for
reporting.

Fixes T3505

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-04-25 08:02:23 -04:00
Derek Foreman f59c52520d build: Bump wayland version dependency
Anything that needed wayland now needs wayland 1.10.0
2016-04-19 15:11:09 -04:00
Cedric BAIL 70cc3677ae elementary: make it possible to build the library alone. 2016-04-14 16:22:23 -07:00
Cedric BAIL 968dcaae34 eio: make it possible to build the library alone. 2016-04-14 16:18:19 -07:00
Cedric BAIL 847fb931c2 ector: make it possible to build the library alone. 2016-04-14 16:07:32 -07:00
Cedric BAIL 192a966e60 ecore: make it possible to build the library alone. 2016-04-14 16:07:32 -07:00
Cedric BAIL 561b14f0c7 edje: make it possible to build the library alone. 2016-04-14 16:07:32 -07:00
Cedric BAIL 055b98a1d4 efl: make it possible to build the library alone. 2016-04-14 16:07:32 -07:00
Cedric BAIL f4441e5a21 eo: make it possible to build the library alone. 2016-04-14 16:07:32 -07:00
Cedric BAIL 3ccfd987ec eet: make it possible to build the library alone. 2016-04-14 15:52:50 -07:00
Cedric BAIL 66bc74bbe6 emile: make it possible to build the library alone. 2016-04-14 15:52:50 -07:00
Cedric BAIL 41f68ac0d3 eina: make it possible to build the library alone. 2016-04-14 15:52:50 -07:00
Cedric BAIL 4c92120457 evil: make it possible to build the library alone.
So I have been battling with autotools on this for a full week now,
and what we want is basically impossible. A.k.a. one file definition
and possibility to do a full build or just a partial build of efl.
Even moving to just partial build require to land a massive patch that
change everything in our build system and this is just not a road I
want to take.

For reference, if one day automake allow the use of any kind of variable
(autoconf AC_SUBST expansion or $()) in the _SOURCES parameter, it will
be possible to fix. Alternatively if they allow to build subdirectory
before they do BUILT_SOURCE, it would make it possible to incrementaly
move to only partial build. In the mean time, a less problematic solution
is to duplicate source code.
2016-04-14 15:52:50 -07:00
Chris Michael 4ea507c2ca elput: Add missing optional feature check for systemd
As elput can potentially use systemd-logind for various input device
functions, we should add this as an optional dependency in the
configure checks.

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-04-13 15:44:13 -04:00
Chris Michael f8964fcf2e elput: Initial checkin of elput library
The elput library is an efl abstraction for the libinput library which
can be used by various other subsystems (ecore_fb, ecore_drm, etc) to
handle interfacing with libinput without having to duplicate the code
in each subsystem.

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-04-13 14:16:17 -04:00
Cedric BAIL 1c48b76da8 elementary: restore examples build. 2016-04-08 16:01:07 -07:00
Jean-Philippe Andre edcdb94a30 Makefile: Add efl as internal dependency for ecore
This commit broke the build:
 - 7c8b2da286

Each and every single library including ecore now must
also include efl as well (for Efl.h).
2016-04-05 20:19:04 +09:00
Jean Guyomarc'h 3f6b62515b autotools: on OSX warn about prefix being /usr
With Apple's SIP, nobody is allowed to modify the system
(excepted /usr/local). If SIP is enabled, the installation
will just fail.
2016-04-02 22:25:11 +02:00
Mike Frysinger 833d87d4ef minor spelling fixes 2016-04-02 16:19:52 -04:00
Cedric BAIL 8330c20868 elementary: install elementary cxx pkgconfig file.
T3397
2016-04-01 13:55:11 -07:00
Cedric BAIL 196455c7a3 elementary: add config back in. 2016-03-30 14:15:15 -07:00
Daniel Kolesa 18c208c7f9 elua: add several file/dir utils used by doc gen
This will be expanded into a proper util lib later.
2016-03-29 13:23:58 +01:00
Cedric BAIL b6a81b6e7b elementary: start bringing back documentation support.
I didn't know preview generation was so slow and done completely serialy.
There is potential improvement here. Still need to kind of merge the
documentation into something readable.
2016-03-28 16:56:31 -07:00
Jean-Philippe Andre 0d41ad0c83 Emile: Move colorspaces to Efl.Gfx
A small hack to the toolchain allows us to generate enums with eolian
for use by Eet and Emile (internal or otherwise non-eo libraries).

Thanks to how BUILT_SOURCES works, the eo.h files required by Emile
will be generated before they are used.

This adds a partial dependency on eo for eet and emile:
 - package dependency
 - include dependency

There is no library link dependency.
2016-03-28 16:40:01 +09:00
Carsten Haitzler 453329916e efl: fix build when drm and fb are enabled .. and more
after elm merge build broke with things like this enabled. this fixes
that.

i'd like to bring up one issue here. ecore_drm is not a good
abstractionlayer. it requires libdrm and other headers from system and
it should have abstracted things so the system libdrm is hidden/not
needed for build (or even perhaps at runtime and this could be rolled
into ecore_drm). this is how ecore_x is... and ecore_fb etc.
2016-03-25 10:53:38 +09:00
Cedric BAIL c2c99ca742 elementary: add forgotten cmake and pkgconfig files. 2016-03-24 15:43:24 -07:00
Cedric BAIL ab4bfcf250 elementary: when building with backends, we apparently need to link with them to.
This make elementary break the modularity of the underlying layer. I haven't looked
at what is going on here, but basically if you have a wayland, a drm, whatever backend
turned on. You need elementary to be link against that ecore_* directly. This means
we are lacking in abstraction in Ecore_Evas and are dlopening to much library at
startup. This needs to be improved in the future.

I am guessing this is related to maybe DnD and C&P.
2016-03-24 14:31:58 -07:00
Mike Blumenkrantz 3b9f53317d BUILD: USE WL2 FOR ELM BUILD 2016-03-24 17:19:13 -04:00
Cedric BAIL b0df722819 elementary: initial compilation of the library only. 2016-03-24 11:23:10 -07:00
Cedric BAIL 91367f2c11 elementary: merge configure logic. 2016-03-23 16:00:47 -07:00
Nicolas Aguirre 290fc88e3f evas: add eglfs evas module.
EGL Fullscreen is a module intended to support many proprietary GL driver that come
with custom API to create framebuffer/window. This one is starting by covering Android
with libhybris/hwcomposer. Later on, it should be able to support easily the Raspberry Pi
driver.

At this moment this does not work properly. Activate it at your own risk ! Do not report
bug if you don't know what you are doing :-) A backend for Ecore_Evas will come later on
along with a patch for Ecore_FB to use libinput. Finally a few patch should hopefully
enable this backend to work and compile more easily (relying on proper header detection
and dlopen/dlsym for access to proprietary function).

You can read more about the goal of this patch by reading our wiki at :
https://phab.enlightenment.org/w/boot2efl/

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-03-18 10:17:49 -07:00
Stefan Schmidt bb0d161d8f Revert "eina: reintroduce additional support for eina sub directory compilation."
This reverts commit 1affc60d00.

This reverts one of three parts of the try to get sub directory
compilation back into eina. It breaks our distcheck though and I
talked to Cedric about it and he prefers to revert these as we might
need to go another route to bring this functionality back. Details
will come to the mailing list.
2016-03-08 00:18:08 +01:00
Stefan Schmidt 2ae2790604 build: do not use DEBUG when running with coverage
Do not force this on everybody who runs with tests=coverage. It makes stdout
impossible to follow as well as overruns the tests log file. If one wants to
run with -DDEBUG it can be set from your own CFLAGS.
2016-03-07 14:39:16 +01:00
Stefan Schmidt 5181a4d0ef build: fix linking with coverage enabled after osx fix
After aca6fc8c36 there have been problems when
linking when having coverage enabled.
AC_SEARCH_LIBS was used wrongly here. You need function name first and lib to
link against as second argument. The symbol name also has wto leading
underscores for me.
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/../../../../x86_64-pc-linux-gnu/bin/ld generated: undefined
reference to `__gcov_init'
2016-03-07 14:36:27 +01:00
Cedric Bail 1affc60d00 eina: reintroduce additional support for eina sub directory compilation.
This is still experimental and quite hacky. Let me know if you face issue.
It should just work with make -C src/lib/eina normally...
2016-03-03 15:10:59 -08:00
Tom Hacohen 800e760b7e Eo examples: remove another reference to the eo examples.
Thanks to _ami_ for reporting.
2016-03-03 11:50:44 +00:00
Jean Guyomarc'h aca6fc8c36 autotools: fix code coverage on OSX
OSX uses clang as a default compiler instead of gcc.
Gcov does not exist for clang, but clang has an alternative which
requires additional compilier and linker flags.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-03-02 13:56:42 -08:00
Stefan Schmidt a4785c66c3 configure: Switch to dev mode again. Merge window for 1.18 is now open. 2016-02-02 11:18:35 +01:00
Stefan Schmidt 745f708692 release: Update NEWS and bump version for 1.17.0 release 2016-02-02 10:25:12 +01:00
Stefan Schmidt 90455285ad release: Update NEWS and bump version for 1.17.0-beta3 release 2016-01-25 17:37:38 +01:00
Stefan Schmidt 50a6288084 build: fix some last corner cases for the hyphen dir being set correctly
Making sure here that we really define EVAS_DICTS_HYPHEN_DIR after all possible
changes have been made to it and we have the final result.
2016-01-20 14:17:01 +01:00
Stefan Schmidt ac45e9e9af build: sane default setting for hyphen dir
Without this compilation would fail with undefinded EVAS_DICTS_HYPHEN_DIR if
--with-xattr-tests-path was not given but hyphen enabled. Use a sane default
(/usr/share/hyphen/) to avoid this. Customization is still possible.
2016-01-20 11:20:16 +01:00
Stefan Schmidt d793dfc51c build: add hyphen as evas feature to be displayed in summary
Having it as a feature for evas here makes sure we can see if it is enabled
or disabled on the configure summary output.
2016-01-20 11:19:59 +01:00
Stefan Schmidt 23cceeeaaa release: Update NEWS and bump version for 1.17.0-beta2 release 2016-01-18 13:50:07 +01:00
Srivardhan Hebbar 46fd6307b2 emile: Added example program for base64 encoding and decoding.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3554
2016-01-14 11:28:40 +09:00
Stefan Schmidt d1609c2afe ecore_drm: make sure we include math.h and link against libm for floor()
When we introduced the usage of floor() in ecore_drm_evdev.c we forgot to
include math.h for it as well as linking against libm. This caused linking
failures on some systems while it still worked on others. Better fix it for
good.

Original patch by aerodynamik.

ref T2953
2016-01-13 17:06:39 +01:00
Stefan Schmidt 2d17f7894e build: check for dlopen() when we build the ecore_evas drm module
We use it to check for libglapi.so.0

Original patch by aerodynamik

ref T2953
2016-01-13 16:27:23 +01:00
Stefan Schmidt 8f02187d7a release: Update NEWS and bump version for 1.17.0-beta1 release 2016-01-11 12:32:25 +01:00
Jean-Philippe Andre 1f7e8d4253 configure: Fail if opengl=full is used with EGL
So many problems from people who customize their builds in this
incompatible manner.

There really should be only one configure option as we don't
support opengl+egl (although possible in theory) or gles without
egl. Keeping both to not break existing builds.
2016-01-11 15:46:24 +09:00
Romain Naour b4a0deebcc build: add efl as internal dep for eldbus
The build stop wile building eldbus-codegen:

  CCLD     bin/eldbus/eldbus-codegen
  CXXLD    bin/eolian_cxx/eolian_cxx
  CCLD     lib/ecore_x/ecore_x_vsync
  CCLD     lib/evas/common/libevas_op_blend_sse3.la
  CCLD     lib/evas/common/libevas_convert_rgb_32.la
  CCLD     lib/ecore_ipc/libecore_ipc.la
[...]/i686-ctng-linux-gnu/bin/ld: warning: libefl.so.1, needed by lib/ecore/.libs/libecore.so, not found (try using -rpath or -rpath-link)
lib/ecore/.libs/libecore.so: undefined reference to `efl_control_suspend_set'
lib/ecore/.libs/libecore.so: undefined reference to `efl_control_interface_get'
collect2: error: ld returned 1 exit status
Makefile:19135: recipe for target 'bin/eldbus/eldbus-codegen' failed
make[6]: *** [bin/eldbus/eldbus-codegen] Error 1

A dependency on libefl seems to be missing for eldbus.

Fixes T2718 and T2952

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
2016-01-07 09:16:06 +01:00
Stefan Schmidt 3397559914 build: if we have this option we at least need to make sure the docs are matching
Putting aside the question if we need or want this option we should make sure
people at least have correctly updated documentation. We switched the option to
..abb but not the docs.
2016-01-07 08:43:42 +01:00
Stefan Schmidt c27fd0fff5 build: add uuid as dependency for wayland build
The wayland build requires uuid which we need to make sure we have as dependency.
Not a real problem as all wayland supported systems should have it.

Based on a patch by aerodynamik. Thanks!

Fixes T2951
2016-01-06 20:01:52 +01:00