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
Cegcc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cegcc-devel

Reply via email to