From: Mikael M. <mik...@tj...> - 2004-11-19 00:38:58
|
Hello, I think iaxclient needs an enhanced build system and I have hacked an autoconf configure.ac script and automake Makefile.am files. Some features: * Detect gsm, speex, iax, PortAudio and iLBC libraries, and use the built in support if the libraries aren't installed on the system. Iax support in lib/libiax2 is used by default, since it's patched. * Detect wxrc and wish programs * Detect host os * Detect GTK, wxWindows and XRC libraries * Activated simple clients depend on host operating system and supported libraries and programs. * Easier cross compilation * Export only symbols beginning with iaxc_ in the shared library, if supported on the platform. Run autogen.sh to generate configure etc. After that the common ./configure and make should work. Various fixes: * Removed call to iaxc_set_encode_format in iaxphone, wx and WinIAX. * Rename file_set_files to iaxc_set_files, since all exported functions begins with iaxc_ * Changed some #include filenames with wrong case. Unix/Linux have case sensitive file system, but Windows don't. The changes are needed in order to cross compile Windows programs on Unix/Linux. * iaxcli tries to create a root window which fails. Changed to GDK_WINDOW_TOPLEVEL. * Use configured WISH in tkiaxphone and removed shell line, which run tkiaxphone in the background. * tkphone is a wrapper script around tkiaxphone that sets IAXPHONEHOME. * WinIAX.cpp calls iaxc_call with two parameters and uses undefined symbols: IAXC_CALL_STATE_REJECTED and IAXC_CALL_STATE_AUTHREQ. * Made some functions in audio_portaudio.c, iaxclient_lib.c static. * unixfuncs.c: nanosleep is declared in time.h in Debian/GNU/Linux. * ctype.h and unistd.h needed in testcall.c The patches compiles on Linux and Mingw cross compiler on Linux and they can be applied with patch as usual. I'm using autoconf 2.59, automake 1.8.5 and libtool 1.5.6. Regards, Mikael Magnusson |