Commit Graph

61 Commits

Author SHA1 Message Date
Vincent Torri ad106db9fe * evil.pc.in:
remove -ldl
	* src/lib/evil_dirent.c:
	change guards
	* src/lib/evil_stdio.c:
	* src/lib/evil_stdio.h:
	add some checks,
	add a function that more or less mimic fopen, but with
	native win32 api calls. This is only for the evas loader
	and saver of png files and works only for Windows CE.
	* src/lib/evil_unistd.c:
	move a free() and remove debug calls.



SVN revision: 37570
2008-11-09 19:27:13 +00:00
Vincent Torri 6a7aefef08 * src/lib/evil_stdio.c:
* src/lib/evil_stdio.h:
	overload rewind for Windows CE
	* src/lib/evil_unistd.c:
	remove debug



SVN revision: 37477
2008-11-05 17:27:20 +00:00
Vincent Torri d475a28d93 * src/lib/Evil.h:
* src/lib/evil_stdio.h:
	* src/lib/evil_unistd.c:
	* src/lib/evil_unistd.h:
	overload the stat() function for native Windows CE platform.
	move pipe() and fopen() definitions to their own header files



SVN revision: 37452
2008-11-04 07:53:43 +00:00
Vincent Torri 9efc8ecf79 * configure.ac:
add a flag to know if cegcc is used or not
	* src/lib/Makefile.am:
	* src/lib/dirent.h:
	* src/lib/evil_dirent.c:
	add opendir(), closedir() and readdir() implementations
	for Windows XP and CE. Now, the evas engines are correctly
	found.
	* src/lib/fnmatch.h:
	formatting



SVN revision: 37376
2008-11-01 17:07:41 +00:00
Vincent Torri 7e2b141beb * configure.ac:
formatting
	* src/lib/dlfcn/dlfcn.c:
	* src/lib/dlfcn/dlfcn.h:
	fix dladdr declaration



SVN revision: 37370
2008-11-01 09:50:01 +00:00
Vincent Torri de996636ba * configure.ac:
use AC_CHECK_HEADERS instead of AC_CHECK_HEADERS_ONCE, because it
	leads to more trouble than it improves configure speed...
	* src/lib/Evil.h:
	use __VA_ARGS__ instead of ##args to make gcc happy.



SVN revision: 37302
2008-10-29 11:07:43 +00:00
Vincent Torri 52ea343c44 * configure.ac:
define _WIN32_WCE with the cegcc compiler too
	useless EVIL_HAVE_WINCE define
	* src/bin/evil_test_memcpy.c:
	use _WIN32_WCE insead of EVIL_HAVE_WINCE
	* src/lib/Evil.h:
	try another definition of open(). Need feedback.
	* src/lib/evil_private.h:
	* src/lib/evil_util.c:
	add private error message when GetLastMessage must be called
	* src/lib/Makefile.am:
	* src/lib/evil_link_ce.c:
	* src/lib/evil_link_xp.cpp:
	* src/lib/evil_unistd.c:
	* src/lib/evil_unistd.cpp:
	move specific link code (readlink and symlink) outside
	evil_unistd to evil_link_ce.c for Windows CE and
	evil_link_xp.cpp for Windows XP. This allow the Windows CE
	code not depend on c++ code anymore and above all, not
	statically link libstdc++ on that platform.
	I need feedback on Windows XP, btw :)



SVN revision: 37295
2008-10-29 08:04:52 +00:00
Vincent Torri 9a0b7ebd18 * configure.ac:
add c++ compiler checks
	remove linking against libuid.a	as it's not an import lib.
	* src/bin/Makefile.am:
	* src/bin/evil_suite.c:
	* src/bin/evil_test_link.c:
	* src/bin/evil_test_link.h:
	add unit test for links. Must be improved.
	* src/lib/Makefile.am:
	add unistd.cpp and uuid.c
	use -fno-exceptions when compiling c++ code
	* src/lib/evil_unistd.c:
	* src/lib/evil_unistd.cpp:
	use C++ api to manage links on Windows XP. Can be considered
	as heavy but it's cleaner as the internals can change later.
	I might consider to compile Windows CE code with only C compiler
	as with mingw32ce, libstdc++ is statically linked to the
	DLL / app (legacy of mingw stuff), to reduce a bit the DLL size.
	* src/lib/evil_private.h:
	declare _evil_error_display() as C function (otherwise linker
	not happy)
	* src/lib/evil_stdlib.c:
	use RegCreateKeyEx() instead of RegOpenKeyEx in getenv().
	fix an _evil_error_display() call.
	* src/lib/evil_util.c:
	add more error messages
	* src/lib/evil_uuid.c:
	define IID_IPersistFile (for links on Windows XP)
	* src/lib/evil_unistd.h:
	fix doc



SVN revision: 37267
2008-10-28 08:59:12 +00:00
Vincent Torri 3aa052f73c display the correct function name when displaying an error
SVN revision: 37212
2008-10-27 08:39:13 +00:00
Vincent Torri bb5f1a561a * src/lib/evil_unistd.c:
* src/lib/evil_unistd.h:
	add execvp stub function for ecore_app. Does nothing,
	only here to make compilation working with mingw32ce.



SVN revision: 37102
2008-10-25 17:39:59 +00:00
Vincent Torri de07e9bad9 reviewed by: <delete if not using a buddy>
patch by: <delete if not someone else's patch>
	* src/lib/Evil.h:
	* src/lib/Makefile.am:
	* src/lib/evil_private.h:
	* src/lib/evil_stdio.c:
	* src/lib/evil_stdio.h:
	* src/lib/evil_stdlib.c:
	* src/lib/evil_unistd.c:
	* src/lib/evil_util.c:



SVN revision: 37046
2008-10-24 07:32:08 +00:00
Vincent Torri ccab8e2101 missing files
SVN revision: 37041
2008-10-24 06:06:57 +00:00
Vincent Torri 44d632008b * configure.ac:
* src/lib/Makefile.am:
	store cpp flags in a variable instead of using an
	automake conditional
	* src/bin/Makefile.am:
	* src/bin/evil_suite.c:
	* src/bin/evil_test_memcpy.c:
	add test for getenv / setenv. More tests on it will
	come later
	* src/lib/evil_stdlib.c:
	fix getenv code and minor cleanup



SVN revision: 37004
2008-10-22 21:36:55 +00:00
Vincent Torri 0eb2aaab4d * m4/ac_attribute.m4:
use newer file from PROTO/autotools
	* src/lib/dlfcn/dlfcn.c:
	* src/lib/evil_mman.c:
	no need to define __UNUSED__ anymore with the new m4 macro
	* src/lib/Makefile.am:
	* src/lib/evil.c:
	remove useless file



SVN revision: 36921
2008-10-21 11:01:36 +00:00
Vincent Torri 3806efd337 * src/lib/Evil.h:
use getcwd() from evil_unistd.c



SVN revision: 36912
2008-10-21 08:31:13 +00:00
Vincent Torri d2b7c8f93c * src/lib/Makefile.am:
* src/lib/evil_time.c:
	add tzset implementation ofr mingw32ce (does nothing...),
	needed for embryo
	* src/lib/evil_stdio.h:
	formatting



SVN revision: 36911
2008-10-21 07:41:39 +00:00
Vincent Torri e67164459d * src/bin/evil_suite.c:
* src/bin/evil_suite.h:
	* src/bin/evil_test_memcpy.c:
	* src/bin/evil_test_memcpy.h:
	clean suite and memcpy test code



SVN revision: 36835
2008-10-20 04:42:26 +00:00
Vincent Torri 1293953743 * src/lib/errno.h:
* src/lib/evil_errno.c:
	export errno symbol.
	* src/lib/evil_string.c:
	* src/lib/evil_string.h:
	add a (slow) implementation of ffs(). Needed for eina



SVN revision: 36824
2008-10-19 19:06:19 +00:00
Vincent Torri 26e3986a81 * configure.ac:
* src/lib/Makefile.am:
	fix compilation on MinGW. Windows 2000 is
	the minimum version supported by Evil (hence
	other EFL). Goodbye Windows 98.
	* src/bin/evil_test_memcpy.c:
	re-enable small memcpy tests. It seems that memcpy
	provided by glibc and the oem driver on Ipaq
	3970 I have, have the same speed.



SVN revision: 36724
2008-10-16 17:12:59 +00:00
Vincent Torri a3f8f5f27b * Makefile.am:
add the doc subdir
	* src/lib/Makefile.am:
	add evil_fnmatch_private.h in tarballs



SVN revision: 36705
2008-10-16 07:04:38 +00:00
Vincent Torri ffa00324c4 adding missing files
SVN revision: 36652
2008-10-14 07:58:57 +00:00
Vincent Torri d8fda87e83 * src/lib/evil_fcntl.h:
don't use it with the cegcc compiler
	* src/lib/evil_fnmatch.c:
	fix warning
	* src/lib/evil_stdlib.c:
	fix putenv and mkstemp with cegcc and mingw32ce



SVN revision: 36651
2008-10-14 06:52:09 +00:00
Vincent Torri c30004b6c9 * configure.ac:
* src/lib/Makefile.am:
	readd guards suppressed in previous commit
	* src/lib/Evil.h:
	include new header files
	* src/lib/errno.h:
	* src/lib/evil_errno.c:
	add fake errno system with mingw32ce
	* src/lib/evil_fcntl.c:
	* src/lib/evil_fcntl.h:
	fix compilation on cegcc and mingw32 (mainly does
	nothing on Windows CE)
	* src/lib/evil_stdio.c:
	* src/lib/evil_stdio.h:
	add rewind and perror for mingw32ce
	* src/lib/evil_string.c:
	* src/lib/evil_string.h:
	add strerror for mingw32ce



SVN revision: 36587
2008-10-11 14:35:26 +00:00
Vincent Torri 1571e802d8 * configure.ac:
* src/lib/Makefile.am:
	* src/lib/evil_fnmatch.c:
	* src/lib/evil_fnmatch_list_of_states.c:
	add guards instead of not including fnmatch source
	file in Makefile.am (for mingw32ce only)
	* src/bin/Makefile.am:
	* src/bin/evil_suite.c:
	* src/bin/evil_test_memcpy.c:
	* src/bin/suite.c:
	* src/bin/suite.h:
	* src/bin/test_memcpy.c:
	* src/bin/test_memcpy.h:
	rename files



SVN revision: 36580
2008-10-11 07:23:55 +00:00
Vincent Torri 85ffa791af * AUTHORS:
mention Tor's contribution
	* configure.ac:
	mention m4 directory, check errno header file,
	add conditionnal when mingw32ce is used, minor
	formatting
	* m4/efl_doxygen.m4:
	fix comments
	* src/lib/Makefile.am:
	include fnmatch files only when mingw32ce is used
	* src/lib/evil_fcntl.c:
	define correctly _get_osfhandle on mingw32ce
	* src/lib/evil_pwd.c:
	fix getpwuid() when cegcc or mingw32ce are used
	* src/lib/evil_stdlib.c:
	fix mkstemp() on all Windows platform, guard errno stuff
	* src/lib/evil_stdlib.h:
	template -> __template because 'template ' is a c++ keyword.
	* src/lib/evil_unistd.c:
	guard errno stuff
	* src/lib/evil_fnmatch.c:
	* src/lib/evil_fnmatch_list_of_states.c:
	* src/lib/evil_fnmatch_private.h:
	* src/lib/fnmatch.h:
	added files
	* win32/common/fnmatch.c:
	* win32/common/fnmatch.h:
	* win32/common/fnmatch_list_of_states.c:
	* win32/common/fnmatch_private.h:
	removed files



SVN revision: 36555
2008-10-09 21:56:31 +00:00
Vincent Torri 22d8fefc05 * m4:
add m4 macro for doxygen, mpatrol and __attribute__

* doc:
move Doxyfile from toplevel dir to doc/

* src/bin/Makefile.am
* src/lib/Makefile.am
* src/lib/dlfcn/Makefile.am
remove _DEPENDENCIES, add flags for mpatrol and put
defines for EAPI

* src/bin:
add memcpy for i686. Need an asm expert to modify it

* src/bin/memcpy_glibc_arm.S:
formatting

* src/bin/suite.c:
fix seg fault by increasing the size of the buffers

* src/bin/test_memcpy.c:
add a test with a bigger size for the memory to copy

* configure.ac:
reorganise a lot, use m4 macro, add mpatrol support

* Makefile.am:
add doc rule


SVN revision: 36446
2008-10-05 15:53:22 +00:00
Vincent Torri 9b59c2205c rename memcpy_glibc.S to memcpy_glibc_arm.S
SVN revision: 36416
2008-10-03 06:29:09 +00:00
Vincent Torri be3df7fcd1 * configure.ac:
* src/bin/Makefile.am:
* src/bin/test_memcpy.c:
compile memcpy_glibc.S only if cegcc or mingw32ce is used

* src/bin/test_pipe.c:
use evil_sockets_init and evil_sockets_shutdown.

* src/lib/evil_unistd.c:
formatting


SVN revision: 36294
2008-09-28 13:32:49 +00:00
Vincent Torri b5ac42942c * mingw32ce has no locale stuff
* libmman does not exist anymore


SVN revision: 36127
2008-09-20 10:02:09 +00:00
Vincent Torri a7f00b51bc * Makefile.am:
add autogen.sh in archive distribution

* configure.ac:
remove useless defines
first support of mingw32msvc compiler

* src/lib/Evil.h:
move some macro definitions

* src/lib/Makefile.am:
add evil_(fcntl/langinfo).(c/h) and install pwd.h

* src/lib/dlfcn/dlfcn.h:
remove useless ifdef

* src/lib/evil.c:
comment all code for now. It will be deleted later

* src/lib/evil_fcntl.c:
* src/lib/evil_fcntl.h:
* src/lib/evil_langinfo.c:
* src/lib/evil_langinfo.h:
move fcntl and langinfo related code to their own files

* src/lib/evil_mman.c:
remove useless inclusion

* src/lib/evil_pwd.c:
pw var is not needed with cegcc

* src/lib/evil_stdlib.c:
fix bugs, formatting

* src/lib/evil_unistd.c:
add missing declarations and fix header files

* src/lib/evil_unistd.h:
move pid_t typedef to Evil.h

* src/lib/evil_util.c:
additional include and fix a bug in output

* src/lib/pwd.h:
use EAPI from Evil.h, define struct passwd when not using cegcc

* src/lib/sys/mman.h:
use EAPI from Evil.h

* win32/common/fnmatch.c:
* win32/common/fnmatch.h:
* win32/common/fnmatch_list_of_states.c:
* win32/vs8/evil.sln:
fix and cleanup with vc++ compilation
Based on patch by Dmitriy Mazovka


SVN revision: 35993
2008-09-15 06:56:14 +00:00
Vincent Torri 161ab7a975 Fix compilation with vc++. Based on patch by Dmitriy Mazovka
* src/lib/Evil.h:
move typedef's

* src/lib/evil.c:
remove declaration and include

* src/lib/evil_stdlib.c:
simplify mkstmp implementation
fix getenv

* src/lib/evil_unistd.c:
include correct headers for readlink and symlink


SVN revision: 35983
2008-09-14 07:07:39 +00:00
Vincent Torri 146b4a86c6 * big rework of evil: put most of functions in evil.c in their own files
* add unit test for memcpy. more will come later


SVN revision: 35979
2008-09-13 21:19:22 +00:00
Vincent Torri c3e8168c53 add RTLD_NODELETE
SVN revision: 35750
2008-08-30 08:24:35 +00:00
doursse 52fbecb588 * src/lib/Evil.h:
declare pid_t, ssize_t and mode_t for vc++ before flock
structure (vc++)
* src/lib/dlfcn/dlfcn.h:
include limits.h for vc++
* src/lib/evil.c: (symlink), (readlink):
use UNICODE instead of checking the OS. Use PATH_MAX instead
of MB_CUR_MAX when needed


SVN revision: 35098
2008-07-13 17:34:53 +00:00
doursse 287f9c9edf * src/lib/Evil.h:
uid_t and gid_t exist on cegcc


SVN revision: 34998
2008-07-03 09:08:59 +00:00
doursse 6aba69be2f * configure.ac:
* src/lib/Evil.h:
* src/lib/Makefile.am:
* src/lib/evil.c:
* src/lib/pwd/Makefile.am:
* src/lib/pwd/pwd.h:
add langinfo and getpwuid support
* src/lib/mman/sys/mman.h:
* src/lib/dlfcn/dlfcn.h:
fix comment


SVN revision: 34942
2008-06-29 12:09:48 +00:00
doursse 8bd0e92e81 * src/lib/Evil.h:
add defines for vc++. Thanks to Dmitriy Mazovka


SVN revision: 34801
2008-06-11 21:34:09 +00:00
doursse ef5ef75eab * configure.ac:
* 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
2008-06-10 07:16:53 +00:00
doursse 98a11ae8cf * src/lib/Evil.h:
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
2008-06-09 18:35:49 +00:00
doursse 0fbdc23c40 * src/lib/Evil.h:
* 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
2008-06-08 21:39:49 +00:00
doursse 2830a8186a * src/lib/Evil.h:
include windows.h instead of windef.h
undefine PATH_MATH before defining it
* src/lib/dlfcn/dlfcn.c:
remove useless header file


SVN revision: 34763
2008-06-07 06:38:54 +00:00
doursse 7dc315e9dc * src/lib/Evil.h:
add PATH_MAX macro
* src/lib/dlfcn/dlfcn.c: (get_last_error):
free correctly strings


SVN revision: 34760
2008-06-06 17:44:59 +00:00
doursse c1ea673e9a * src/lib/Evil.h:
* src/lib/evil.c: (setenv), (unsetenv):
setenv and unsetenv are already defined with cegcc


SVN revision: 34723
2008-06-02 04:53:41 +00:00
doursse 3b513e346e add cvsignore
SVN revision: 34722
2008-06-02 04:42:51 +00:00
doursse d8e6039ece Fix open, add getcwd, lstat, setenv, unsetenv and evil_homedir_get and fix typo in doc
SVN revision: 34718
2008-06-01 17:09:14 +00:00
doursse 4b4c616e37 * src/lib/dlfcn/dlfcn.c:
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
2008-06-01 04:27:08 +00:00
doursse 9afa392297 * src/lib/dlfcn/dlfcn.h:
dli_fname ncorrectly declared. Thanks to Dmitriy Mazovka.


SVN revision: 34626
2008-05-20 06:26:59 +00:00
doursse d72b07f4aa add wrapper around GetCurrentProcessId()
SVN revision: 34536
2008-05-11 09:32:52 +00:00
doursse 638afceae2 * src/lib/dlfcn/dlfcn.c: (dladdr):
replace all the '\' by '/' in the filename found by dladdr


SVN revision: 34518
2008-05-09 23:16:42 +00:00
doursse 89fde28967 * src/lib/Evil.h:
* src/lib/evil.c: (evil_getcwd):
add getgwd-like function
* src/lib/dlfcn/dlfcn.c: (dladdr):
* src/lib/dlfcn/dlfcn.h:
add dladdr-like function. Formatting
Remove unused define
* src/lib/mman/sys/mman.h:
remove unused define


SVN revision: 34392
2008-04-28 14:34:55 +00:00