Currently debian/rules requires these dependancies to else
the following errors occur:
When automake is missing:
./autogen.sh
[...]
Running aclocal...
./autogen.sh: line 8: aclocal: command not found
make: *** [clean] Error 1
./autogen.sh
[...]
configure.in:20: error: possibly undefined macro: AC_LIBTOOL_WIN32_DLL
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.in:23: error: possibly undefined macro: AC_PROG_LIBTOOL
make: *** [clean] Error 1
When pkg-config is missing:
./autogen.sh
[...]
configure: creating libtool
./configure: line 14491: PKG_PROG_PKG_CONFIG: command not found
./configure: line 14499: syntax error near unexpected token `EVIL,'
./configure: line 14499: ` PKG_CHECK_MODULES(EVIL, evil)'
make: *** [clean] Error 2
SVN revision: 34790
* src/lib/dlfcn/dlfcn.h:
* src/lib/mman/sys/mman.h:
define EFL_EVIL_MMAN_BUILD and EFL_EVIL_DLFCN_BUILD so
that functions in Evil.h are not declared as import
* src/lib/evil.c: (setenv), (unsetenv), (realpath),
(evil_sockets_init), (evil_sockets_shutdown), (evil_pipe),
(evil_tmpdir_get), (evil_homedir_get):
rename pipe() to evil_pipe().
set tmpdir to "Temp" and homedir to "My Documents" on WinCE
* src/lib/Evil.h:
define pipe() as evil_pipe(). This allow to use our pipe()
implementation to be usedwith cegcc, as it is broken on that
platform.
move the defines at the end of the file
SVN revision: 34787
add strdup define
* src/lib/evil.c: (evil_tmpdir_get), (evil_homedir_get):
include stdlib.h to define MB_CUR_MAX
On Windows CE, tmpdir and homedir are defined as "\windows"
* src/lib/mman/mman.c: (mmap), (munmap):
compile the big fat hack of mmap only on Windows CE
SVN revision: 34784
Valgrind just noticed that "writes_pending" was not being initialized,
probably because some old code used calloc() (based on the comment
at the allocation step).
SVN revision: 34777
* src/lib/evil.c: (evil_last_error_get):
add evil_last_error_get() function to get
useful error string creation.
* src/lib/dlfcn/dlfcn.c: (get_last_error), (dlopen), (dlsym),
(dladdr):
use UNICODE check instead of compiler checks when needed.
use evil_last_error_get()
* src/lib/mman/mman.c: (mmap), (munmap):
file mapping does not work on Windows CE < 5.0.
if it is the case, just read the file and return
the data.
use evil_last_error_get()
* src/lib/mman/Makefile.am:
* src/lib/Makefile.am:
add libevil dependancy
SVN revision: 34775
Needed for a use of ecore_wince without ecore_evas
* That stupid OS does not send a specific message when you show a window.
Force the SHOWWINDOW message when showing / hiding. It works with
CEgcc, but I don't know if it will work with vc++ for WinCE
SVN revision: 34740
This will check both function and data before removing the callback,
this is useful when you have lots of children monitoring parent, when
one child want to remove its monitoring function, others will remain.
Name is quite difficult to choose, I opted for "_full", but could be
"_with_data" or similar.
SVN revision: 34731
Image_Entry flag structure. This fix a bug with 16 bpp software engine.
* Change image loader module API to take any Image_Entry. Same goes
for evas_common_image_premul and evas_common_image_set_alpha_sparse.
* Use new eet API: eet_data_image_read_to_surface.
SVN revision: 34728
This functions provide a way to support tiles with eet. They also give the
possibility to directly decompress eet image inside an engine surface.
SVN revision: 34725
memory leak with cegcc
* src/lib/dlfcn/dlfcn.h:
include limits.h for MinGW users
* src/lib/mman/sys/mman.h:
add MAP_FAILED error value
SVN revision: 34717
totally done and may hand control back to a non rendering codepath - or
before u do any fp ops u are unsure of the cpu state beforehand. see the big
fat comment.
i was right. it was a missing emms.
SVN revision: 34707
* in ecore_x_pointer_xy_get, fill x & y with '-1', if the pointer is not in the same screen as the given window
* add 'same_screen' and 'root_win' information for the XEvents dealing with keyboard and mouse events
e:
* make sure e_manager_current_get returns the correct manager for the current screen
* fix various modules to use the correct window, when dealing with events
SVN revision: 34705
having an almost parallel codepath for script_only objects - they dont get to
use the older edje api calls for part defined objects. they will have a new
set of calls specifically for them. it's partly done - very little available
now, but will expand. lots of fixme's.
SVN revision: 34699
the buffer one at first (always compiled), then Xlib ones, XCB ones,
Windows ones, followed by others less used (SDL, FB, Qtopia). I
let the 16 bits ones at the end in the same order (Xlib, Windows, SDL).
SVN revision: 34690
* remove printfs that clutter output
* add efreet file type check - only parse regular files
* chekc mmap returns correctly for MAP_FAILED results
* edje has some stubs for adding script-only objecvts - but nothing useful
right now
SVN revision: 34689
This patch fixes the problem with bitfield of signed types (ie: char),
where the bit would be used for the signal, so 1 is considered -0 and
thus 0.
Move all the single bit fields to Evas_Bool, making it clear and also
avoiding these problems since Evas_Bool is unsigned char.
SVN revision: 34631
suite (http://check.sourceforge.net/) and lcov from cvs also for the
coverage accounting (http://ltp.sourceforge.net/coverage/lcov.php).
This first set provide an overall coverage rate for src/lib 2111
of 2607 lines (81.0%) for eet. And it helped in finding and fixing
the bugs of the last three days.
SVN revision: 34591
of emotion_object_file_set()
* move the "frame_decode" evas event to _emotion_frame_new() a,d
replace it in _emotion_video_pos_update() by "position_update"
* fix a mem leak in the gstreamer backend and in the smart object
SVN revision: 34581
emotion_object_init() is called. Hence, setting sd->video to NULL
there implied that the code:
emotion_object_init(o, module);
emotion_object_file_set(o, file1);
emotion_object_file_set(o, NULL);
emotion_object_file_set(o, file2);
seg fault.
(such code is useful when you want to reset the same stream
(file1 = file2). The other solution would be to destroy everything
and recreating the pipeline, which is not nice)
SVN revision: 34571
gst_init() allocates. Hence, 2 calls of the couple gst_init() / gst_deinit()
fail miserabily. Gstreamer's dev says that the exported function gst_deinit()
should not be called, so let's remove it...
SVN revision: 34560
- this fixes the warning about a missing = sign
- you can have a blank value set on a key
- this fixes the warnings about invalid key=value pairs
- formatting changes
SVN revision: 34496
whatever child exited last - not the one u wanted, not to mention all other
signals. now there's a queue at least. 256 long. moight be a bit too long.
SVN revision: 34442
2. free then malloc otherwise realloc might ALSO have to memcpy if it cant
resize the segment whihc means overhead we dont need/want.
SVN revision: 34441
By having a layer as a short (16 bits) we can pack it together with
the bitfields, saving 4 bytes per sub-struct, 8 bytes in total, also
bringing the struct down from 4 to 3 cachelines on my laptop.
Rationale: layers are mostly used to differentiate groups of objects
and they stacking, usually we have few layers and we use very large or
very small numbers to make a layer be at the top or at the bottom, but
usually we don't need so many layers.
Caution: code that use values like 999999 will break, so fix your
code! I'll provide another patch to fix all the CVS using these large
values.
SVN revision: 34420
This saves 20 bytes, bringing Evas_Object to 200 bytes, by moving data
specific to smart objects to their own struct (Evas_Object_Smart).
There is still one remaining member that could be removed:
smart.smart, this is used mainly to identify if one object is a smart
object or not. One possibility would be to add a bitfield to state
that, but another possibility is to check Evas_Object::object_data
and see if it's a smart or not.
SVN revision: 34419
Interpolation color_space (now ASHV or ARGB) was being used inside a
struct with 4 byte alignment. Remove it from the struct and make it a
bitfield so can be packed with the other fields. This saves 2
integers, so 8 bytes.
SVN revision: 34418
This is a repack of bitfield members, was tested on GNU/Linux + GCC 4.1.2
and works fine. Needs further testing on other compilers.
SVN revision: 34417
Size hints are useful, but wasting 36 bytes for it on every object is a bit
too much: clippers and lots of other objects will have no need for it.
Now it's a pointer to a struct that will be allocated just when some value
is set, wasting 4/8 bytes more for the pointer when it is used, but saving
32/28 bytes when it is not.
This will also help to have alignment properties in future, that can come
as hints, without too much impact on memory consumption.
SVN revision: 34412
This will help the use of Evas_Bool to define bitfield structs like in:
struct s {
Evas_Bool a:1;
Evas_Bool b:1;
Evas_Bool c:1;
Evas_Bool d:1;
Evas_Bool e:1;
Evas_Bool f:1;
Evas_Bool g:1;
Evas_Bool h:1;
Evas_Bool i:1;
};
It must be unsigned or it would use the signal bit, having "a == 0" to
be true anyway, as it would be just +0 and -0.
SVN revision: 34362
The engine is not entirely working right now. Recent devices which
supports the raw frame buffer should work though. But having it in
cvs will help me as I'm coding it most of the time "blindly" (no
device to test it)
* minor formatting in the top evel Makefile.am too
SVN revision: 34354
* formatting
* put WIN32_CFLAGS in AM_CFLAGS and not AM_CPPFLAGS, as it is where it belongs
* rename create_shared_lib to lt_no_undefined
* pass -Wl,--enable-auto-import to libtool when compiling with cegcc
* add files to EXTRA_DIST only when they are not in _SOURCES or _include_HEADERS (they
are added anyway)
SVN revision: 34353
* src/bin/Makefile.am:
* src/lib/Makefile.am:
* src/lib/dlfcn/Makefile.am:
* src/lib/mman/Makefile.am:
use -Wl,--enable-auto-import with cegcc
fix warning with newest autoconf
* src/lib/dlfcn/dlfcn.c: (string_to_wchar):
include wchar.h and fix warnings
* src/lib/mman/mman.c:
use relative path to include sys/mman.h
SVN revision: 34348
* use --enable-auto-import with CeGCC
* put WIN32_CFLAGS in CFLAGS and not CPPFLAGS
* remove warning when configuring with newest (2.62) autoconf
* clean MAINTAINERCLEANFILES and EXTRA_DIST
* formatting (should be very close to how eet is formatted, now)
SVN revision: 34320
* remove warning with newest autoconf's (check of __attribute__)
* fix maintainer-clean rule (expecially with libtool 2.2.*)
* formatting of the top level Makefile.am
SVN revision: 34307
arbitrary point...
2. use int not long - long will be 64bit on 64bit platforms, but 32bit almost
everywhere (yes in theory it may not - but in practice, it won't - long
though will vary).
SVN revision: 34211
Parts can choose to ignore Events with certain flags in event_flags. The default value is
to accept all events. The syntax for this is specifying in the part:
ignore_flags: ON_HOLD;
I've tried to update Edje_Edit bits also.
SVN revision: 34170
For example:
field: FLAG_A FLAG_B FLAG_C; // at least one flag is needed
And we can assign a bit for each FLAG_*, the result would be the OR between all of them.
Refactored a bit of parse_enum to re-use code there.
SVN revision: 34168
add POSIX definitions
* src/lib/evil.c:
make realpath available with cegcc. The function
just copy the file name to the resolved name with
that compiler
SVN revision: 34097
Move pointer_mode (size 4) before bitfields, leave 'delete_me' as it's
a byte, this still have 2 bits left from unsigned short and another
byte around delete_me to make it grom from 244 bytes.
SVN revision: 34068
* Allow Windows Mobile to correctly load dll's
* Use correct scheme for EAPI on Windows and include config.h when necessary
* add -mwin32 to compiler flags when compiling with cegcc
SVN revision: 34024
* INSTALL:
* README:
additional notes for compilations with cegcc or mingw32ce
* configure.ac:
use 'win32' instead of 'cegcc' or 'mingw'
* src/lib/dlfcn/dlfcn.c (dlopen):
cegcc does not support LOAD_WITH_ALTERED_SEARCH_PATH.
Use LoadLibrary instead of LoadLibraryEx in that case.
SVN revision: 34014
Do not force use of pkgconfig to detect SDL -- supported versions of
SDL (1.2.0) did not ship with pkgconfig support.
Do not use PKG_CHECK_EXISTS as it is not available in older pkgconfig
releases.
----------------------------------------------------------------------
SVN revision: 33981
* use the pixman library for the region code (it is required, now). That
libray can be found in the cairo ftp.
* use the new xcb_image api that is in git repository. There is still a
seg fault occuring because of xcb_image. I'll commit the fix in git
next week.
The performance are not good at all. With expedite, 360 fps compared to
the 470 fps with xlib. I don't know why yet.
SVN revision: 33965
- if Eet is built:
. if the shared lib is built, EAPI must be __declspec(dllexport)
. if the static lib is built, EAPI must be empty
- otherwise EAPI must be __declspec(dllimport)
* move config.h from Eet_private.h to source files so that
EAPI is correctly defined in Eet.h
* add notes for compilation with cegcc and mingw32ce in INSTALL
* add support for compilation with cegcc
* add indentation information for vi
* remove trailing spaces
SVN revision: 33959
Although I used 3 lines comments to state it was not required, it is
required because none of the values accounted includes the '\0'.
SVN revision: 33940
This should provide correct code in a simpler way by sharing some of
the common code among functions.
Tested with E17 basics, require some applications with extensive usage
of textblock manipulation to do validate results.
SVN revision: 33939
Code was not tracking the real size of the allocated memory and was
increasing the string size by one, so the '\0' was being accounted and
the string was being truncated visually.
Patch will remember the exact allocated size and just increment the
string size by the added string, not including it's null-byte
terminator.
This is based on Cedric's BAIL patch set 'evas_object_textblock more
character fix', but doing the minimum to fix the problem.
PS: this code will be rewritten to share some implementation in next commit.
SVN revision: 33937
* src/lib/evil.c:
cegcc or mingwce32 does not like relative path,
so _fullpath or other similar function do not exist
on Winodws mobile.
* src/lib/mman/mman.c:
missing #
SVN revision: 33935
From: Greg Garner <Greg@rt-eng.com>
To: Jan L��bbe <j.luebbe@tu-bs.de>
Subject: Re: License of your contribution to SMALL/PAWN
Date: Mon, 03 Mar 2008 14:49:56 -0600
CC: greg@dluxlink.com, enlightenment-devel@lists.sourceforge.net
Reply-To: Greg@rt-eng.com
Dear enlightenment developers:
Please change the copyright to be the way zlib is. My intention was to
release this to be freely used source. Let me know if you need any
additional information to proceed.
It is pretty cool that this code that I wrote so long ago is still being
used!
Thanks
Greg Garner
(formerly of Artran Inc).
www.rt-eng.com
greg@rt-eng.com
SVN revision: 33914
* remove all the specific win32 code
* replace EAPI by EAPI_DEF in front of definitions of funtions
* no need to check windows.h, winsock2.h
* sys/mmap.h will be detected automatically (thanks to evil on win32)
* use AC_CHECK_HEADERS instead of AC_CHECK_HEADERS_ONCE as this macro is too recent (from autoconf 2.59c)
SVN revision: 33896
Edje tries to copy original style to font provided by text_class if
this have no style.
However code was supposing that text_class font always had more than
one occurrence, these separated with ',' and did not check if this is
not the case, so "e = strchr(',', tok);" was returning NULL and all
the math were using negative values.
The fix now does the proper checking, avoid one useless alloca() and
the respective copy, also doing the copies with memcpy() since sizes
are already known.
Refactory was done to make code simpler and also avoid having it
copied 3 times.
SVN revision: 33869
Check if values actually differ before interpolating them, this will
avoid useless math for (x1 - (x1 - x2) * p) when x1 and x2 are equal.
Also don't interpolate values that doesn't make sense to the part,
like color2 and color3 for non-text.
TODO: Refactor edje part description into more object-oriented
fashion, with a struct with just the common parts followed by an union
of structs for special objects, these would contain specific bits for
each part type. This would save us a bit of memory and then we can
more easily refactor code isolating common and specific parts, making
code smaller and easier to handle.
SVN revision: 33861
My last patch fixed the compile problem, but really, we should use the
same struct for things that look/work the same, like rectangle,
position, etc.
This new patch brings that change back and add some named structs
(also typedef'ed so it conforms to E naming schema).
This commit just changes the header and adds an example of
benefit. Later I'll provide a more intrusive patch that reorganize
structures to make even better use of this.
SVN revision: 33860
The "simple" block:
p3 = p1;
was doing an implicity memcpy() responsible for about 1% of processing
time when no animation happens.
Patch by Cedric BAIL.
SVN revision: 33858
Last 2 patches were swapped, I applied them in the wrong order and
missed the rejections, my bad.
I fixed it and also did some cleanup, looks better now.
SVN revision: 33855
This is an initial cleanup, basically I removed all the DirectFB
accelerated calls and moved it to software common. I do plan to
gradually bring these back later, probably blit, rectangle and line
will come first.
SVN revision: 33835
Just allocate and build the match automate for callbacks and programs
only when required. On load for programs and when callbacks list has
been updated.
Patch by Cedric BAIL. (with minor fixes to use TABS where context was using)
SVN revision: 33804
As aclocal may be called via autogen.sh during the Debian build process
add an explicit build dependancy on pkg-config which includes
/usr/share/aclocal/pkg.m4 which provides the PKG_CHECK_MODULES macro.
SVN revision: 33781
libgl-dev is now a virtual package provided by libgl1-mesa-swx11-dev and
libgl1-mesa-dev, so one of these packages needs to be the build dependancy
instead of libgl-dev.
libgl1-mesa-dev seems to be the most logical choice as it can
be installed with minimal disruption on a vanilla install.
SVN revision: 33773
There seems to be a typo, likely introduced by me,
such that the libtool dependancy was an alternate to automake.
If you don't have automake instlled at configure time, then
the following error pops up on Debian unstable.
configure.in:19: error: possibly undefined macro: AC_LIBTOOL_WIN32_DLL
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
SVN revision: 33772
every thing is not really cleaned on shutdown (It make it crash, if
you shutdown completely the font system and then restart it again).
Author: Cedric BAIL
SVN revision: 33746
This fixes the prototype, however it still issues a warning about a
real bug: calling evas_hash_modify() during evas_hash_foreach()
SVN revision: 33710
The previous commit just removed the warning, but it was not the ideal
solution. The class is really a constant, nobody should change it
after it's assigned.
SVN revision: 33709
As agreed on IRC, evas_hash_foreach() now takes const, to make clear
that hash shouldn't be changed. If one wants to change he must do a
cast and return 0. However this will require users to be updated in
applications.
SVN revision: 33708
(like put an event on hold) while it still passes through. object under it
need to be awar of evewnts being on hold as you may want hypbrid behaviors.
SVN revision: 33560
Font names can contain spaces, either in the file name and the
fontconfig, so do the escape and keep words linked.
Now it's possible to have things like:
font=Vera\\ Sans:style=Bold
and it will work. (note double \\ is required)
SVN revision: 33526
1. configure/build changes to allow cross-compiling painlessly
2. pager module namespace changes - this was still dirty afdter the namespace
cleanup, so clean it up
3. add a powersave subsystem - doesnt have an "automatic" way to turn on and
off right now, this i think is best provided by modules (that do things like
monitor acpi status's (eg close lid of laptop), AC power status etc. etc.
this allows e to nicely defer "power" expensive actions to avoid disk
spinups etc.
4. move to use the new ecore poller system - discussed long ago as part of
power management/saving issues. now it exists
5. add a canvas idle flush call that helsp cope with the new shm greedy
software x11 engine stuff
6. use the new powersave subsystem where appropriate
7. fix non-zeroed/initted memory access in e_fm_main
8. fix mem leak for e menus
9. remove ipc handlers for changed/removed config values
10. use animaotr not timer for menu scrolls - then menu scrolls obey the fps
config
11. fix up timer/poll happienss of cursor idle stuff
12. remove avoid damage from popups for now - causing problems
13. change battery and temp readouts to b e shorter so they fit
14. pager can emit signals on focus change for mini-windows now
15. temperature module now uses a slave process and uses stdin/out to talk to
it and get output - this makes e smoother as in my expereicne i found getting
the temp on my laptop actually took like 200ms so e "hang" for 200ms while
reading the acpi files - so now the subprocess does it and just writesa back
to e when it gets it.
ecore:
1. add ecore_pollers. see the documentation on them in doxygen comments :)
2. fix timers to only go off when they have to - bug there that made e's
select time out a LOT more than it needed to. defensive coding hid the
problem. now fixed. e should be much more power friendly now.
3. formatting/niceness in ecore_exe stuff
4. some comments on comments with SIGIO ideas vs. select
5. add call to be able to add an idle enterer at the start of the list of
them, not just the end (as has been the default)
6. fix ecore_evas to support auto evas idler calls after 0.5 secs of idle in
all canvases - and to do it right
7. if argb destination - set the shape EVENT shape (to mask out events in
transparent regions much like shape does withotu translucency)
8. in ecore_x add support for the event shape
evas:
1. fix cache to work properly and not just always fill up (as it seemed to
like to think cahce useage dropped below 0 when it didnt and thus just
over-fill)
2. software x11 engine now ONLY uses shm segments - no ximages over the
socket. this ximage hack was there to avoid the 2 round trips involved in
setting up an shm image - now i mitigated that wih an shm image cache pool.
it keeps shm images around and repurposes them for new update regions if
appropriate. this means many fewer shm creates (about 1/100th the number) and
since we recycle the memory less 0 memory page filling by the kernel - in the
end, i recorded about a 10-20% speedup over the old software x11 engine.
simple tests i have seen up to 120% speedups. idle flush now does something -
it frees all the cached shm segments. it has a hard-coded limit of 4mb worth
of shm segments (or 32 segments - whichever comes first) to keep around. once
can never complain much about speedups methinks :). also evas will defer sync
until the NEXT frame is written - this means evas can calculate the next
frame of data while x dma's/copies the images to the screen at the same time
(if you hve a dual core or multi-cpu machnike or your xserver is able to use
DMA to copy image data to the screen/video ram then this should see a decent
speedup).
SVN revision: 33448
can't test it on a GLSL card, so I hope it didn't break anything. If
something is broken, feel free to revert! (but it would probably just be
related to the way it detects GLSL support at l.78 of evas_gl_context.c)
SVN revision: 33242