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.
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>
sneaky hidden m4 rule to ADD -release to shared lib names IF profile
!= dev profile. come on! why do that? seriously. this snuck in and was
undetected because i recompiled things against efl and thus things
linked against the new releasename libs. this requires an efl 1.8.1.
argh!
Summary:
* efl.m4: add support for xterm-256color and fix display for the bsd echo. Fix autotools issue (present on Ubuntu also, but better handled).
* doc/Makefile.am: bsd echo may not handle -n option in sh
Reviewers: cedric
CC: cedric, seoz
Differential Revision: https://phab.enlightenment.org/D329
Linking to Pthread seems to be highly not portable. Look at lock.m4
macro if you want to understand the hell it is ! By following it
closely we should now have better portability than the 1.7.x release.
And of course than our alpha...
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.
Stumbled over it while trying to give configure a working edje_cc
when doing cross-compile. The path was picked up but never set as
the Makefile_Edje_Helper.am guarded it with HAVE_EDJE_CC which we
never successfully assigned due to this typo.
Thanks goes to Daniel for another round of pair-bug-spotting.
Just use the lib/name/libname.la as libtool should be responsible to
emit dependencies to compiler when it evaluates.
This should reduce over-linking, also reducing the compile lines in
our verbose builds ;-)
NOTE: this seems to work on Fedora 18 (which also bitch about DSO), so
hopefully works on Debian and Ubuntu (and elsewhere).
Please revert if breaks builds!
SVN revision: 83105
strange that nobody except hdante noticed this before, but it was
missing linkage with -lrt in libemotion (due generic being static) and
ecore_evas/extn.
SVN revision: 83007
Many thanks to billiob that was persistent enough to make me look at
it while I was calling it "impossible". That stupid variable was being
used in ecore_check_module.m4 :-(
SVN revision: 82999
linker (ld) is that kind of tool that argument order matters, if you
-Wl,--as-needed, it will be worth just for libraries following
it. Then we need to use EFL_LDFLAGS before everything else, otherwise
it end being useless.
SVN revision: 82991
EFL_ADD_FEATURE(PKG, NAME, [VALUE]) will do an amazing work to produce
colored output in a standard way.
if value == yes, it's green and shows "+name"
if value == no, it's red and shows "-name"
else it shows cyan and shows "name=value"
if not provided, will use ${have_name:-${want_name}}
SVN revision: 82976
when I fixed eina's dependency on -lpthread I used all the libraries
eina links to. But we should just do with -lpthread as it's a public
dependency... that was in eina.pc.in and I missed.
Now we have EFL_ADD_PUBLIC_LIBS() that will register for
requirements_public_libs_name and use internally when eina is used.
This should also fix the problem by Arvind with gcrypt.
SVN revision: 82942
Seems AC_PATH_GENERIC() wasn't present somewhere, then I'm adding the
AM_PATH_LIBGCRYPT() provided by libcrypt (I need to include it in m4/
otherwise it will fail for people doing ./autogen.sh without libgcrypt
installed).
It works on my machine, but `libgcrypt-config --libs` output is just
"-lgcrypt -lgpg-error", including no -L.
SVN revision: 82939
some libraries will need to pull more than its own .so, for example
Eina.h includes eina_lock.h that includes eina_inline_lock_posix.x
that will use pthread calls directly from user code.
This was already listed in eina.pc, but not being present in
USE_EINA_LIBS.
SVN revision: 82909
Introduces EFL_VERSION() to make it simpler to define our version. The
last parameter is the release status, defaults to 'dev' for
development purposes and may be set to something else to be a
snapshot. It non-empty will be given to libtool's -release.
As EFL_VERSION() must be done *before* AC_INIT(), we need to create
another macro to do the AC_SUBST() and AC_DEFINE(). This is
EFL_INIT. And no, we can't just call AC_INIT() from inside EFL_INIT().
Last but not least, we had a problem with our libtool version-info. It
was being calculated as MAJOR + MINOR, right now 1 + 7 = 8. But as
soon as we get to MAJOR=2 and MINOR=0, we get into problems. This was
fixed by rewriting as (MAJOR * 100 + MINOR), but this is still
problematic.
According to libtool's manual (info libtool), we shouldn't bind the
version-info with package info, instead doing the 'release'
field. Pretty likely we'll do worse than expected by distros and
binary packages in future :-/
SVN revision: 82891
Instead of -I$(top_srcdir)... -I$(top_builddir)... and then do it for
the .la, use the EFL_ macros to generate the contents to be used in
automake files.
There is a nasty bit that libtool will parse Makefile*.am and will not
get _DEPENDENCIES from _LIBADD and _LDADD if these are in
@REPLACEMENT@. To solve this we must explicitly set _DEPENDENCIES. The
contents of this is almost the same as _LIBADD or _LDADD with the
"_INTERNAL_" replacement name.
I hope the code will be result will be shorter and consistent as there
is less places to change when we add/remove dependencies.
Statistics are quite impressive (diffstat):
{{{
37 files changed, 663 insertions(+), 1599 deletions(-)
}}}
SVN revision: 82785
This one was a painful bitch. The edbus2 port was quite broken, mainly
leaking eina_stringshare and also not adding the '\0' to the strings
that are represented as bytearray (paths cannot be utf8 to avoid
translations).
Emotion plugin was also quite bogus and the video thumbnail as edje
(animated) is not working yet due bug in Edje_Edit api -- someone
needs to investigate this, seems strange.
Emotion plugin also had a bug that it was deleting the object from
inside object callback.
Now it seems to work. Please report if it does not.
SVN revision: 82675
this one was quite a huge work, but hopefully it's correct.
NOTES:
* removed vlc generic module, it should go into a separate package.
* gstreamer is enabled by default (see --disable-gstreamer)
* xine is disabled by default (see --enable-gstreamer)
* generic is always built statically if supported
* gstreamer and xine can't be configured as static (just lacks command line options, build system supports it)
* v4l2 is enabled by default on linux if eeze is built (see --disable-v4l2)
* emotion_test moved to src/tests/emotion and depends on EFL_ENABLE_TESTS (--with-tests), but is still installed if enabled.
TODO (need your help!):
* fix warnings with gstreamer and xine engine
* call engine shutdown functions if building as static
* remove direct usage of PACKAGE_*_DIR and use eina_prefix
* add eina_prefix checkme file as evas and others
* add support for $EFL_RUN_IN_TREE
* create separate package for emotion_generic_modules
* check docs hierarchy (doxygen is segv'in here)
SVN revision: 82501
* Split out ecore_imf_xim to do its own check
* Fixed problem with xcb's makekeys, no rule for
$(top_builddir)/src/utils/ecore/makekeys$(EXEEXT) exists so make
used an implicit rule (ignoring any cflags of course)
* Fixed gl_x11 engine to build with either Xlib or XCB (xcb flags were
missing)
* Added EFL_FIND_X and replace any used of AC_PATH_X{,TRA}. First
looks for Xorg pkg-config files then if those arn't found it falls
back to old AC_PATH_X. Also generalized common header and lib
checks. Could probably use some polishing (the AC_CACHE_VAL cruft
especially) but this is what I have time for tonight.
Now X11 should be found on non-standard locations by means of xmkmf,
--x-includes/--x-libraries and also pkg-config.
SVN revision: 82475
This is just a quick fix, that makes things work better for now. A
deeper change and fix of the checks and build system should be done
later.
SVN revision: 82182
this is still in progress, mostly the multisense stuff is pending.
it seems that when we merge ecore_audio in edje the libremix and
similar are gone, at least from Edje, and will be in ecore_audio
itself (or pulseaudio).
Changes:
* __UNUSED__ to EINA_UNUSED
* binaries (epp, embryo_cc, edje_cc) now consider EFL_RUN_IN_TREE and
will assume the binaries are still not installed, running from
build tree location (needs more testing, maybe doesn't work with
srcdir != builddir, still doesn't solve cross compile builds)
SVN revision: 82139
Changes also in this commit:
* fix missing EAPI in symbols used by modules
* removed old libudev and libmount support as agreed by discomfitor/zmike
* replaced __UNUSED__ with EINA_UNUSED
* fixed docs hierarchy
SVN revision: 82100
va_list may be typedef'ed not only to array and pointer but also to a
plain struct. It could be made to work this way, but it's a lot simpler
a safer to not depend on it. To deal with the array corner case we copy
the va_list from the function arguments to the stack and call the "real"
function passing it.
SVN revision: 82017
Using AC_TRY_RUN is bad for crosscompiling since you can't run the
binary you compiled (if you are not using a canadian crosstoolchain).
In this case the check is omitted and HAVE_VA_LIST_AS_ARRAY remains
undefined, which is wrong if you are compiling in a x86_64 for an ARM
architecture.
SVN revision: 82000
- fchmod() was isolated by HAVE_CHMOD, which was always present
before... then fchmod() is also present as no errors were reported
since its introduction.
- fchmod() is POSIX for a while now.
- lstat() is POSIX for a while now.
- setxattr is supported by EFL_CHECK_FUNCS() as is used by eina.
- splice() check added to EFL_CHECK_FUNCS()
SVN revision: 81938
- remove EFL_LIBS and EFL_CFLAGS, use per-lib values that inherit
from EFL (general)
- add NAME_LDFLAGS and EFL_LDFLAGS for linker flags.
- LDADD (binaries) now use NAME_LDFLAGS instead of NAME_LIBS, as they
link to libname.la and that will pull in the libtool dependencies
SVN revision: 81915
- introduce EFL_CHECK_LIB_CODE() that does the try-link
- introduce EFL_FIND_LIB_FOR_CODE() that will use
EFL_CHECK_LIB_CODE() into multiple libraries
- also fix dladdr() test (was missing .h in #include <stdlib>)
SVN revision: 81909
added couple of macros:
- EFL_LIB_START(PKG): setup variables and replacements (AC_SUBST),
prints started checks
- EFL_LIB_END(PKG): prints ended checks
- EFL_LIB_START_OPTIONAL(PKG, TEST): wraps EFL_LIB_START() with a
conditional test. defines AC_DEFINE(HAVE_PKG).
- EFL_LIB_END_OPTIONAL(PKG): wraps EFL_LIB_END() with a conditional
test, defines AM_CONDITIONAL(HAVE_PKG).
SVN revision: 81903
Many changes in this commit, but overall it should work. If not let me
know.
* ECORE_CHECK_X_EXTENSION() will now fail if Xlib extension is not found.
* remove usage of ECORE_EVAS_CHECK_MODULE(), using the simplified
ECORE_EVAS_MODULE()
* EVAS_CHECK_ENGINE() will not declare an option anymore.
* fixed --with-x11 and --with-opengl regarding defaults.
* fixed typo in EVAS_STATIC_BUILD_SOFTWARE_X11 -> XLIB conditional
* simplified Xi2 and Xgestures support under --enable-gesture. Let me
know if these should be checked separately.
* remove every other X extension option, they are all forced by
now. If no major showstopper appears with this we may remove all
the #ifdef in the code!
If there is something broken, let me know.
Next on the list for the weekend is to finish the option checks for
SDL, Wayland-EGL, Cocoa and similar.
SVN revision: 80505
still lots to do, but some improvements:
- ecore_evas does not inherit pkg-config from modules since modules are SO
- renamed internal ecore evas define from SOFTWARE_BUFFER to BUFFER,
to make consistent.
SVN revision: 80473
instead of replicating common patterns all around, let's use the
common patterns as m4 macros.
EFL_DEPEND_PKG() will use pkg-config and add the dependency.
EFL_OPTIONAL_DEPEND_PKG() will use the former, but also defines
have_XYZ and does the if statement for you.
SVN revision: 80402
* a single option --with-evas-dither-mask=TYPE (big, small, line or none).
* make a wise decision to fallback to small dither mask for
conversions that do not support "no-dither" or "line". Before if
you did not specify it would fallback to big (128x128).
SVN revision: 80383
Another try to make inotify checks more common.
This time uses AC_CHECK_HEADERS() as for others, that already define
HAVE_SYS_INOTIFY_H, then uses that.
I still kept AM_CONDITIONAL([HAVE_INOTIFY]) because I plan to convert
ecore_file to the same, smarter, method that is used in eio (compiling
the file depending on the backend.
SVN revision: 80358
After agreement in the mail list, core developers agree to remove this
engine that was not being supported for a long time.
Given that most operations Evas uses are not accelerated in DirectFB,
or at least hardware that exclusively supports DirectFB, it's better
for those people to just use Evas/Ecore software (buffer) rendering
and expose DirectFB's framebuffer as destination surface.
SVN revision: 80232