So what I've done is this:
#ifdef CEGCC
h_error = strerror(GetLastError());
if (hp == NULL) {
switch (h_error) {
case ENETDOWN:
case ENODATA:
error = EAI_NODATA;
break;
case ETIMEDOUT:
error = EAI_AGAIN;
break;
case ECONNREFUSED:
error = EAI_FAIL;
break;
default:
error = EAI_FAIL;
break;
}
goto bad;
}
#else
.. standard stuff again...
...
Including "liberrno/errno.h" and linking in liberrno.a seems to have done
the trick, at least in terms of the socket library now buils. Upon running
the Ruby binary on Windows Mobile 5 (emulator) I can load the socket
extension and even do a "require 'webrick'" which is the Ruby web server
module. I haven't setup networking on my emulator yet, so I'll have to try
that and then some simple Ruby socket tests.
It seems that things are looking good; now even Ruby 'Gems' will install -
but I'm really not a good enough Ruby (or any other language for that
matter!) programmer to test things.
I'm working on a patch now, rather than ad-hoc editing, it's just
figuring out how to get liberrno to be built along with the rest of the
extensions in a single step, all the makefiles are dynamically generated
and I'm not sure where to start with that side of things.
-John
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Cegcc-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cegcc-devel