Hi Gustavo, from Solaris point of view all the headers and functions are there. The only thing is that I filled some bugs with missing errno.h definition in source file and than failing compilation.
Otherwise ok. Robert. On Thu, 3 Jan 2013 12:34:43 -0200 Gustavo Sverzut Barbieri <[email protected]> wrote: > Hi people, > > I'm reviewing the checks in efl/configure.ac and some are quite weird, > which I want to remove if there is no valid reason for their > existence. > > IMO the way Evil, Escape and Exotic are done are a bit cumbersome for > the libraries to use. For instance, evil_libgen.h matches libgen.h, > however the user code must have the following: > > #ifdef HAVE_LIBGEN_H > #include <libgen.h> > #endif > ... > #ifdef HAVE_EVIL > #include <Evil.h> /* includes evil_libgen.h */ > #endif > > why not call evil_libgen.h just libgen.h and let the user include it > normally? We just -I$(top_srcdir)/src/lib/evil if building for Evil, > then it makes life simpler. > > In my mind Evil.h and Exotic. doesn't even need to exist... they could > exist in some cases where the system file exists but lacks something. > Say libgen.h in PS3 lacked basename, then we could have: > * escape_libgen.h: basename() definition > * Escape.h: includes escape_libgen.h to match complete > libgen.h from posix, "fixing" the previous include. > > Find below the suggested header and functions to change. I may get to > this next week and apply the changes. > > == Headers == > > * strings.h: is very useful, very old and very standard. The only > place that checks for that is simple_xml_parser and I have no idea > why :-P PROPOSAL: remove checks and rely on strings.h. Portability > layers (escape, evil, exotic should provide it if missing). > > * unistd.h: same as strings.h, portability layers already provide > what we use. > PROPOSAL: remove checks and rely on unistd.h. Portability layers > (escape, evil, exotic should provide it if missing). > > * signal.h: very very old and supported on UNIX. > PROPOSAL: remove checks and rely on signal.h. Portability layers > (escape, evil, exotic should provide it if missing). Many times the > platform ports need to provide a completely new way to deal with > signals and this is done in a different file. > > * siginfo.h and siginfo_t: checked by eina, used without check for > years in ecore_signal.c as it's not used in Windows, there we use > another file. PROPOSAL: remove checks and rely on siginfo.h and > siginfo_t. Portability layers (escape, evil, exotic should provide it > if missing), as the signals won't be emitted, it should cause no > problems. Or it is done in another file as said for signal.h > > * inttypes.h and stdint.h (also included by inttypes): is very > useful and is posix. Many users in our efl do not check for > HAVE_INTTYPES_H or HAVE_STDINT_H, some check for _WIN32 or similar. > PROPOSAL: remove checks and rely on inttypes.h and stdint.h. > Portability layers (escape, evil, exotic should provide these if > missing). > > * errno.h: except from some parts of ecore_con (that does it wrong), > it's basically used in windows/evil. Evil does it right and wraps > every errno access in #ifdef, which is a pain. > PROPOSAL: remove checks and rely on errno.h. Portability layers > (escape, evil, exotic should provide it if missing). > > * libgen.h: provides basename/dirname, but is only checked in > eio_private.h and eina_module.c, although it's used in many more > places. PROPOSAL: remove checks and rely on libgen.h. Portability > layers (escape, evil, exotic should provide it if missing). > Evil/Escape already provide it, but call the file PREFIX_libgen.h and > is included by their headers. > > * langinfo.h and locale.h: posix 2001, just constants. > PROPOSAL: remove checks and rely on langinfo.h and locale.h. > Portability layers (escape, evil, exotic should provide it if > missing). > > * sys/time.h, sys/select.h and sys/resource.h: posix 2001. > PROPOSAL: remove checks and rely files. Portability layers > (escape, evil, exotic should provide it if missing). > > * sys/socket.h, net/if.h, net/un.h, arpa/inet.h, arpa/nameser.h, > netinet/in.h: posix 2001. Does BSD/Solaris support them at the same > location?? > PROPOSAL: remove checks and rely files. Portability layers > (escape, evil, exotic should provide it if missing) or provide native > version of the networking functions for ecore. > > == Functions == > > * execvp: posix 2001 > * fpathconf: posix 2001 > * clearenv: rejected posix 2001, we should stop using it (just efreet > tests use it) > * lround: posix 2001 > * sigaction: posix 2001 > * siglongjmp: posix 2001 > * isfinite: posix 2001 > * clock_gettime: posix 2001 > > ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnmore_122712 _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
