|
From: Bill S. <we...@ri...> - 2001-01-21 20:50:20
|
Hi all, Eugenia Loli was kind enough to provide a BeOS box for me to attempt to compile icqlib on. We got together today over IRC, here's a quick summary for everyone's benefit of how it went: 1) Currently, BeOS has its socket stuff (fd_set, socket, accept, etc) in the socket.h header. We need a #ifdef __BEOS__ #include <socket.h> #endif in icq.h or else there's lots of undefined errors. 2) BeOS doesn't support asynchronous TCP connects or the SO_ERROR getsockopt option. However, once the new BeOS networking stack (BONE) is in, it will. Eugenia recommended we just hold off here, and wait for BONE, instead of spending the time to make all the connect calls blocking (which is the way they used to be, anyway :). In order to get icqlib to compile on her box though, I just commented out the problem code: the getsockopt call in icq_TCPLinkOnConnect. This will make TCP non-functional on BeOS, but at least it compiles! UDP should be unaffected, so just make sure to send all messages ICQ_SEND_THRUSERVER. Chat and file transfer support are TCP only, though, so these functions will not work at all :( 3) libtool has problems creating a shared library on BeOS, but the static library appears to build fine. libtool is way beyond my expertise, but if someone else may be able to help here, please let us know. So what I'm going to do now is commit fixes so icqlib will at least compile on BeOS, but explicitly note that TCP will not work until BONE is ready and that shared libraries do not work. Eugenia, if you could let us know when BONE has been released, we'll remove those fixes and then maybe we can get together and try to get icqlib compiled again, this time with full functionality. And let us know when you have your icq client working, so we can add it to the list of applications that use icqlib :) Bill |