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
* remove magic debug output in evas part
* always use version for pc file, it's actually safe
* fix compilation of gl-sdl
* avoid circular dependency of libevas on itself
SVN revision: 78935
* gl engines were checking for eet module, which does not
exist when we install first the efl package.
* fix pkgconfig values for static linking
* add Evas output to configure
SVN revision: 78918
I've tested make -j 3 install and it works nicely
I've tested expedite with software and opengl xlib,
and it works. Not tested other engines, so please
report any problems (engines or other) on the ML.
TODO: examples and tests, I'll add them later
ISSUE: Eina_Unicode size check. It indirectly depends on
eina_config.h, which is created at the end of the
configure script. So its size is always 0. I don't
know how that size is used, so I can't do a lot,
for now.
SVN revision: 78895
It's not working yet:
* eina_thread.c:152:33: error: 'index' undeclared (first use in this function)
* eina_thread.c:295:4: warning: passing argument 3 of '_eina_thread_win32_create' from incompatible pointer type [enabled by default]
also:
* line 142, is it normal that we call eina_list_append() with tw being NULL ?
* is what I did in the close_thread label correct ?
SVN revision: 78416