Hi <booleanla...@gmail.com>,

> Sorry, I couldn't write to you sooner.
> (I'm not good at English.)

Me, neither :)

Regarding <winsock2.h>

> AC_CHECK_HEADERS([winsock2.h])
>
> #if !defined(__CYGWIN__) // <- wrapped by __CYGWIN__ macro
> #ifdef HAVE_WINSOCK2_H // <- using header specific macro
> #include <winsock2.h>
> #endif
> #endif /* !defined(__CYGWIN__) */

I would rather handle all the stuff by config.h file and force
AC_DEFINE(HAVE_WINSOCK2_H, 0) in cygwin section if needed.

Additionally it would be nice to unify the directives among all the components.
I think, the current status of #include <winsock2.h> is not very nice.

Eet
#if defined(_WIN32) && ! defined(__CEGCC__)

Ecore (inecore_ipc.c, ecore_ipc)
#ifdef HAVE_WINSOCK2_H  (but never configured ???)

Ecore (ecore_main.c)
#ifdef _WIN32


> > 3) Handing OS specific defines such like _POSIX_PATH_MAX e.g.
>
> /* embryo_cc_osdefs.h */
> #if defined(__CYGWIN__) // wrapped by __CYGWIN__
>                                // because cygwin-patches should not
>                                // affect compilation on other platforms
> #if !defined(_POSIX_PATH_MAX)
> #define _POSIX_PATH_MAX 255
> #endif /* !defined(_POSIX_PATH_MAX) */
> #endif /* defined(__CYGWIN__) */
>
> FYI: _POSIX_PATH_MAX has already supported from the initial release by 
> /usr/include/limits.h
> http://cygwin.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/include/limits.h?rev=1.1&content-type=text/x-cvsweb-markup&cvsroot=src

I am sorry,  _POSIX_PATH_MAX is fine (embryo_cc_osdefs.h includes <limits.h>),
but _POSIX_HOST_NAME_MAX does not exist on Cygwin at all.

Therefore I suggest to use

#ifdef(__CYGWIN__)               // fixing missing define in <limints.h>
#ifndef _POSIX_HOST_NAME_MAX     // which could be supported later
#define _POSIX_HOST_NAME_MAX 255
#endif
#endif

close to the beginning of both the e_fm.c and efreet_uri.c files.

> > 4) Unix-like signal handling on windows (siginfo_t supported by cygwin but 
> > not by mingw)
>
> I think it isn't so serious problem because cygwin supports most of
> Unix-like signal handling feature to compile Unix-based source
> files.
>
> Or do you want to compile e17 even on mingw?

No, I am only interested in Cygwin/X now.

I remember I did a lot of dirty patches in E17/043
(severa l#ifndef _WIN32 replacements in Ecore.h, ecore_exe.c, ecore_sginal.c, 
etc.)
in order to use siginfo_t type and Unix-based signal handling.

With these changes, the process termination worked much more better.
Especially when running E17 for several days, there were no "zombie" tasks
(such like many sh.exe, bash.exe) visible in MS Task Manager.

Now I would rather prefer to configure it e.g. by HAVE_SIGNAL_H
(disabled on mingw an cegcc because of the missing siginfo_t)
rather then using pure "#if defined _WIN32 || defined __CYGWIN__" directive.
but this is just a religion, it depends on dev conventions  :)

Best regards,
Pavel

------------------------------------------------------------------------------
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to