Commit Graph

83 Commits

Author SHA1 Message Date
Tom Hacohen 3a69dfcca1 Efl: Use git rev-list in order to get version instead of svnversion. 2013-02-15 16:13:50 +00:00
Christopher Michael 6f9d4f9fd4 Add wayland-client as a dependency for the evas wayland shm engine.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83210
2013-01-24 09:13:48 +00:00
Carsten Haitzler 64c4f34bc0 sorry - have to revert this as this brings the efl tree build to a
grinding halt - it wasn't great before.. but now it's totally broken. :(
e.g.:

/bin/bash ../libtool  --tag=CC   --mode=link ccache gcc -std=gnu99
-O2 -g -pipe -march=native -fvisibility=hidden -ffast-math -W -Wall
-Wextra -Wno-shadow -Wno-unused-but-set-parameter   -o bin/eet/eet
bin/eet/bin_eet_eet-eet_main.o -fvisibility=hidden -fdata-sections
-ffunction-sections -Wl,--gc-sections -fno-strict-aliasing
-Wl,--as-needed -Wl,--no-copy-dt-needed-entries    lib/eet/libeet.la

libtool: link: ccache gcc -std=gnu99 -O2 -g -pipe -march=native
-fvisibility=hidden -ffast-math -W -Wall -Wextra -Wno-shadow
-Wno-unused-but-set-parameter -o bin/eet/.libs/eet
bin/eet/bin_eet_eet-eet_main.o -fvisibility=hidden -fdata-sections
-ffunction-sections -Wl,--gc-sections -fno-strict-aliasing
-Wl,--as-needed -Wl,--no-copy-dt-needed-entries  lib/eet/.libs/libeet.so
/usr/bin/ld: bin/eet/bin_eet_eet-eet_main.o: undefined reference to
symbol 'eina_iterator_next'
/usr/bin/ld: note: 'eina_iterator_next' is defined in DSO
/usr/local/lib/libeina.so.1 so try adding it to the linker command line
/usr/local/lib/libeina.so.1: could not read symbols: Invalid operation
collect2: ld returned 1 exit status



SVN revision: 83112
2013-01-22 23:48:04 +00:00
Gustavo Sverzut Barbieri e532627b9f try to simplify internal library dependency.
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
2013-01-22 21:58:25 +00:00
Rafael Antognolli 4b552cb9f7 efl/evas: Use "with_opengl" option instead of "gl_flavor_gles".
The latter got replaced by the former one. This fix the building of some
GL engines when --with-opengl=es is used.

SVN revision: 83040
2013-01-21 16:05:02 +00:00
Gustavo Sverzut Barbieri ee3575e8c8 fix missing linkage with -lrt for shm_open users.
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
2013-01-19 14:59:39 +00:00
Gustavo Sverzut Barbieri 727f9312df fix ecore_evas modules build broken by r82976.
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
2013-01-18 23:00:57 +00:00
Gustavo Sverzut Barbieri e2e25b3d3d fix flags and libs ordering.
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
2013-01-18 18:51:16 +00:00
Gustavo Sverzut Barbieri 331f3583c7 optimize check for compiler and linker flags.
do it once with all flags and just test individual if fails. Saves
dozen of compiler/linker runs.



SVN revision: 82983
2013-01-18 15:25:00 +00:00
Gustavo Sverzut Barbieri db38bdd6de cosmetic: simplify and colorize features.
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
2013-01-18 13:48:14 +00:00
Boris Faure ac4df627f7 efl: export vmin/vmic in edje.pc
It is used to know where to install external modules.

SVN revision: 82974
2013-01-18 13:01:36 +00:00
Gustavo Sverzut Barbieri 12a0f9388a clean some whitelines from already lengthly configure file.
SVN revision: 82951
2013-01-17 20:58:07 +00:00
Gustavo Sverzut Barbieri 88f2d26608 don't mix private and public libraries dependencies.
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
2013-01-17 18:55:32 +00:00
Gustavo Sverzut Barbieri eb7a8feef5 try to fix --with-crypto=gnutls due libcrypt-config usage.
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
2013-01-17 16:47:36 +00:00
Cedric BAIL 098a745c4b efl: revert r82914 which was a revert of r82909.
SVN revision: 82915
2013-01-17 02:35:29 +00:00
Cedric BAIL 0bcbfcf4c1 efl: revert r82909 as it break build.
Symptom are dependencies is full of -lm -lrt -lsomething that can't
be found in the Makefile target.


SVN revision: 82914
2013-01-17 01:52:32 +00:00
Gustavo Sverzut Barbieri 2554b34a92 fix internal library linkage to pull in dependencies.
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
2013-01-16 21:25:58 +00:00
Gustavo Sverzut Barbieri ad1417713b simplify efl version and initialization in a macro, fixes libtool version-info.
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
2013-01-16 17:24:36 +00:00
Gustavo Sverzut Barbieri 720a81d58c move ecore_imf_evas out of ecore_imf.
SVN revision: 82837
2013-01-15 19:11:01 +00:00
Gustavo Sverzut Barbieri c4e163fe4a move ecore_input_evas out of ecore_input.
we don't need this mess anymore :-P



SVN revision: 82836
2013-01-15 18:59:28 +00:00
Gustavo Sverzut Barbieri d97c63e4c6 fix directory structure: move ethumd_client out of ethumb.
it's another library, do not mix stuff as it used to be.




SVN revision: 82835
2013-01-15 18:10:58 +00:00
Gustavo Sverzut Barbieri b1bc5aeb24 efl: simplify automake.
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
2013-01-14 22:36:23 +00:00
Gustavo Sverzut Barbieri 34f5315141 merge ethumb.
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
2013-01-12 01:15:45 +00:00
Lucas De Marchi db395ef7eb efl: Remove check for unistd.h
* unistd.h: is very useful, very old and very standard.



SVN revision: 82577
2013-01-10 20:25:26 +00:00
Gustavo Sverzut Barbieri dfb84c1657 efl: merge emotion.
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
2013-01-10 03:43:32 +00:00
Gustavo Sverzut Barbieri 57090b2abb efl: improve X detection by Joel Klinghed.
* 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
2013-01-09 16:48:40 +00:00
Gustavo Sverzut Barbieri c0a827d2eb efl: removed as they are now unused.
SVN revision: 82231
2013-01-04 19:47:09 +00:00
Rafael Antognolli 317979226c evas/build: Fix gles detection for wayland-egl.
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
2013-01-04 16:00:38 +00:00
Gustavo Sverzut Barbieri 9ea2ce1041 efl: merge edje.
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
2013-01-04 02:08:14 +00:00
Gustavo Sverzut Barbieri 68188ac0c8 efl: merge eeze.
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
2013-01-03 20:37:42 +00:00
Lucas De Marchi f1f81ca7c9 efl: stop depending on va_list type
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
2013-01-02 20:55:57 +00:00
Lucas De Marchi 1282bb2754 efl: use compile-time chec for type of va_list
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
2013-01-02 15:16:32 +00:00
Gustavo Sverzut Barbieri 8ba0561e49 efl: remove lstat and fchmod checks.
- 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
2012-12-31 18:18:00 +00:00
Gustavo Sverzut Barbieri df1b3d30c4 efl: refactor CFLAGS, LIBS, LIBADD and LDADD usage.
- 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
2012-12-31 00:46:14 +00:00
Gustavo Sverzut Barbieri 8bbef8fe28 efl: refactor EFL_CHECK_LIB() and EFL_CHECK_FUNC()
- 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
2012-12-30 21:10:52 +00:00
Gustavo Sverzut Barbieri 1453b3848b efl: EFL_CHECK_LIBS() is strict, simplify it then.
as we abort (AC_MSG_ERROR) if not found, simplify the code.



SVN revision: 81907
2012-12-30 18:55:56 +00:00
Gustavo Sverzut Barbieri 1f423eb8e7 efl/configure: simplify configure.ac
more macros to aid common tasks, make it easier to read.



SVN revision: 81904
2012-12-30 18:08:55 +00:00
Gustavo Sverzut Barbieri fb27484376 efl/configure: simplify lib declaration.
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
2012-12-30 15:21:33 +00:00
Carsten Haitzler b730378d18 RELEASE THE HOUNDS!... edbus missing m4 macro to detect va args list
type and that b0rxed edbus on 64bit. this fixes it. tnx to k-s for
pointing at it.



SVN revision: 81878
2012-12-29 16:03:28 +00:00
Bruno Dilly d0b3c4a96d efl: fix cflags for the case that x_includes in not empty
By Tomáš Čech <sleep_walker@suse.cz>



SVN revision: 80880
2012-12-13 15:23:49 +00:00
Daniel Juyung Seo 9d68ba83ff efl/m4 evas_dither.m4: Oops I didn't mean it and I've never added them. Explicit bug on git or svn.
SVN revision: 80531
2012-12-08 18:21:34 +00:00
Daniel Juyung Seo c75c7a67d5 elm elc_naviframe.c: Use EINA_LIST_FREE instead of EINA_LIST_FOREACH + eina_list_free.
SVN revision: 80529
2012-12-08 18:17:12 +00:00
Gustavo Sverzut Barbieri c6e0c95883 efl: almost final ecore/evas/ecore-evas options integration.
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
2012-12-07 23:16:43 +00:00
Gustavo Sverzut Barbieri 6988d2685b efl/evas: fix m4 typos that prevented xcb from getting proper libs/cflags
SVN revision: 80504
2012-12-07 22:51:40 +00:00
Gustavo Sverzut Barbieri cc2e0f63d4 efl: always be strict on dependency checking.
SVN revision: 80498
2012-12-07 20:08:28 +00:00
Gustavo Sverzut Barbieri aaf18a71a4 efl: baby steps to get sharing of options between evas and ecore-evas.
SVN revision: 80482
2012-12-07 18:24:49 +00:00
Gustavo Sverzut Barbieri 892c64297e efl: begin (still partial!) to make an uniform choice of engines ecore/evas
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
2012-12-07 17:18:17 +00:00
Gustavo Sverzut Barbieri 4476601805 efl: m4 is a macro-expansion language, use that.
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
2012-12-06 23:19:35 +00:00
Gustavo Sverzut Barbieri d338bcac63 oops, missing file.
SVN revision: 80401
2012-12-06 22:22:38 +00:00
Gustavo Sverzut Barbieri bdbf2171fe efl/evas: simplify dither mask handling.
* 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
2012-12-06 19:44:11 +00:00