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
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
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).
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
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
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
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.
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"
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.
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.
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.
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
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
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
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>
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.
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.
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.
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>
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
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.
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.
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>
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
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.
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>
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.
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>
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>
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.
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.
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.
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.
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>
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.
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.
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'
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>
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.