From: Steve K. <st...@st...> - 2003-06-08 17:34:43
|
Hi Faizan, First, it helps (me at least) to clear the terminology a bit in your questions. There's "libiaxclient" or "iaxclient", which is the whole library from CVS (everything under lib). This includes other libraries, of course, including portaudio, gsm, and either libiax or libiax2. I'm guessing that this is what you're talking about with iaxlib? Anyway, someone (Babar) has compiled libiaxclient, with VC, but he did need to make a few modifications. I spoke to him about this on IRC, and I hope that he'll be getting the changes to me soon. If not, and someone else can do this, please send diffs and/or information about what you needed to do to this list. Also, another things that I'm planning on doing (which Babar also might send me patches for, unless someone else does), is make a Makefile target in lib/ to build iaxclient.LIB on windows, with MinGW, similarly to how we currently build libiaxclient.a. This doesn't sound hard to do from what I understand, and then you'd be able to build a front-end application with whatever compiler you'd like on Windows, and then link to this just like a "standard" windows static library. We could also make a iaxclient.dll in the same way. If I remember correctly, the changes were to libiax, and in that case, what I'm trying to do, with libiax and especially libiax2, is to keep these changes synchronized with Digium, so that our copy of libiax2 is always the same as Digium's. The current status of this, (which people can figure out by doing diffs, and trying to build with libiax2) is: 1) The copies of libiax and libiax2 in our repository are both slightly different than Digium's, mostly for portability changes. 2) I've recently updated our copy of libiax2 to build portably, on Win32, Mac, Linux. I've also send the changes I've made back to Mark at Digium, for him to include these changes back into the digium CVS version. 3) Libiaxclient built with libiax2 is somewhat broken at the moment. It's mostly working on Linux, but partly due to a hack in iaxclient_lib.c that I put in. Basically, there's some problem with it where it doesn't get certain control messages back properly, especially the "answer" event, so the library doesn't really know a call has been answered. At first, I thought this was a bug in libiax2, but now I'm not so sure. 4) The plan is to get libiax2 working properly, synchronized with digium's CVS, and then make that the default build for iaxclient. At that point, we'd abandon active development of a IAX1 build of libiaxclient. But for now, IAX1 works better than IAX2. OK, so that's all the libiax stuff. The important things to keep in mind are: 1) libiax is temporary, to be superceded by libiax2 very soon. 2) changes made to libiax2 should be as minimal as possible, and should ideally be worked on with Mark from digium to go into his CVS. This may require from Mark one of his famous disclaimers. Next, the question about stdout/stderr printing. Yes, obviously, the plan isn't to have a requirement to have a console window. I've already started working on this (Thursday or Friday), and you can see the callback mechanism that I've put in place for user messages to be sent from the library to library users (clients like testcall and "wx"). Basically, the client will register with the library, and the library will then call the client back when it has different kinds of messages, and then the client can display them however the client wishes. For wx, these messages are all currently going to the status area, but eventually "errors" and "warnings" might make alert dialogs, etc. libiaxclient itself, I think, no longer writes anything to stderr or stdout, once you specify message callbacks (the "default" callbacks do write to stderr). Hope all this information helps. Please keep the list updated with what you're doing with iaxclient! -SteveK On Saturday, June 7, 2003, at 06:12 PM, Faizan TiliZone wrote: > Hi. > > Well I looked at latest iax client(WxWindows Client). > > Has anybody tried to compile that iaxlib with Visual C. > secondly, all the porting done on iaxlib with Winiphone etc requires a > file pointer( basically to stdout). > This requires openeing a console window always. If we were to create a > win based cilent. Should we remove it. > Thanks. |