Merge branch 'master' of git.sv.gnu.org:/srv/git/linphone

Conflicts:
	mediastreamer2
This commit is contained in:
Simon Morlat 2011-08-23 15:46:21 +02:00
commit 6209a0b322
8 changed files with 80 additions and 89 deletions

View file

@ -163,14 +163,19 @@ setup.exe: filelist
newdate:
cd gtk && $(MAKE) newdate
if HAVE_MD5SUM
GEN_MD5=$(shell $(MD5SUM) linphone-$(VERSION).tar.gz | awk {'print $$4'})
else
GEN_MD5=$(shell $(MD5SUM) linphone-$(VERSION).tar.gz | awk {'print $$1'})
endif
Portfile: $(top_srcdir)/scripts/Portfile.tmpl dist
sed -e 's/\@VERSION\@/$(LINPHONE_VERSION)/g' \
-e 's/\@LINPHONE_MD5\@/$(shell md5sum linphone-$(VERSION).tar.gz | awk {'print $$1'})/' < $< > $@
-e 's/\@LINPHONE_MD5\@/$(GEN_MD5)/' < $< > $@
Portfile-devel: $(top_srcdir)/scripts/Portfile-devel.tmpl dist
sed -e 's/\@VERSION\@/$(LINPHONE_VERSION)/g' \
-e 's/\@LINPHONE_MD5\@/$(shell md5sum linphone-$(VERSION).tar.gz | awk {'print $$1'})/' < $< > $@
-e 's/\@LINPHONE_MD5\@/$(GEN_MD5)/' < $< > $@
bundle:
rm -rf $(INSTALLDIR)

View file

@ -2,83 +2,53 @@
* Compiling linphone on macos X *
**********************************
You need:
- Xcode (download from apple or using appstore application)
- Macports: http://www.macports.org/
Download and install macports using its user friendly installer.
You have two options: using gtk-osx framework (http://gtk-osx.sourceforge.net/) which results in a Linphone GTK well integrated into Mac OS
environment. The other option is using MacPort, in which case Linphone will run as an X11 application inside Mac OS.
At the date of March 25, 2011, no video support is available yet.
Compiling using gtk-osx
=======================
Requirements:
* gtk-osx framework
* xcode (for gcc)
* macport (to retrieve dependencies easily, such as libosip2, libeXosip2, libspeex
* linphone git tree
Steps:
- Install gtk-osx jhbuild environment as described at
http://sourceforge.net/apps/trac/gtk-osx/wiki/Build
It will build gtk for osx as well as many dependencies.
- Install ige-mac-bundler following instructions here (git clone method is preferred):
http://sourceforge.net/apps/trac/gtk-osx/wiki/Bundle
- Install build time dependencies
$ port install automake autoconf libtool intltool
- Install some linphone dependencies with macports
$ port install speex-dev
$ port install osip2
$ port install eXosip2
$ port install ffmpeg-devel
- Install libSDL and ffmpeg from their official git or hg repositories. At this date (2011/05/09) the macports version are too old and buggy.
- Install SDL (for video display)
Unfortunately the current (august 2011) version of sdl in macports crashes all the time. Fortunately these bugs are fixed in the development branch of SDL.
So we recommend to download SDL 1.3 with mercurial (hg) and compile it by yourself, like this:
First, make sure you have mercurial:
$ sudo port install mercurial
Fetch SDL:
$ hg clone http://hg.libsdl.org/SDL
Compile:
$ cd SDL
$ ./autogen.sh
$ ./configure --disable-video-dummy --disable-video-x11 && make -j4
$ sudo make install
- Now you can compile linphone
When this version will be integrated into macports, only this will be necessary:
$ port install sdl-devel
$ jhbuild shell
$ PKG_CONFIG_PATH=$HOME/gtk/inst/lib/pkgconfig:/opt/local/lib/pkgconfig/ ./configure --disable-static --disable-strict --with-gsm=/opt/local --disable-x11
#assuming you have gsm installed in /opt/local. However gsm is optional.
$ make
- Install gtk. It is recommended to use the quartz backend for better integration.
$ port install gtk2 +no_x11
$ port install ige-mac-integration
- You can generate a bundle using
$ make bundle
- Compile linphone
The bundle is generated in ~/Desktop/Linphone and can safely be exported to other places and computers.
If you got the source code from git, run ./autogen.sh first.
Compiling using MacPort
=======================
This procedure works for audio, video still not fully supported.
It was tested on macos X (leopard) on september 2009.
Requirements:
* xcode (for gcc)
* macport (GNU porting project)
* svn or git checkout'd linphone tree.
Steps:
* install with the 'port install' command the following dependencies
- automake
- autoconf
- libtool
- gettext
- intltool
- gtk2
- speex-dev
- osip2
- eXosip2
Then or otherwise, do:
* add /opt/local/bin to your PATH by editing (or creating) ~/.profile, logout and login again for changes to take effect
* within linphone source directory, run ./autogen.sh
* run
./configure --prefix=/opt/local --disable-video --with-readline=none && make
(note: we disable readline for linphonec because it appears to hang at this time)
* install to /opt/local
sudo make install
$ PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure --prefix=/opt/local --with-readline=/opt/local --disable-strict --disable-x11 && make
Install to /opt/local
$ sudo make install
Done.

View file

@ -1,6 +1,6 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT([linphone],[3.4.3],[linphone-developers@nongnu.org])
AC_INIT([linphone],[3.4.99.1],[linphone-developers@nongnu.org])
AC_CANONICAL_SYSTEM
AC_CONFIG_SRCDIR([coreapi/linphonecore.c])
@ -41,6 +41,8 @@ AC_C_INLINE
AM_PROG_CC_STDC
AC_HEADER_STDC
AM_PROG_CC_C_O
AC_CHECK_PROGS(MD5SUM,[md5sum md5])
AM_CONDITIONAL(HAVE_MD5SUM,test -n $MD5SUM)
case $target_os in
*mingw32ce)

View file

@ -103,10 +103,17 @@ static void linphone_call_videostream_encryption_changed(void *data, bool_t encr
#endif
static void linphone_call_audiostream_encryption_changed(void *data, bool_t encrypted) {
char status[255]={0};
ms_message("Audio stream is %s ", encrypted ? "encrypted" : "not encrypted");
LinphoneCall *call = (LinphoneCall *)data;
call->audiostream_encrypted=encrypted;
if (encrypted && call->core->vtable.display_status != NULL) {
snprintf(status,sizeof(status)-1,_("Authentication token is %s"),call->auth_token);
call->core->vtable.display_status(call->core, status);
}
propagate_encryption_changed(call);

View file

@ -65,6 +65,7 @@ static gboolean iconified=FALSE;
static gchar *workingdir=NULL;
static char *progpath=NULL;
gchar *linphone_logfile=NULL;
static gboolean app_terminated=FALSE;
static GOptionEntry linphone_options[]={
{
@ -1364,6 +1365,14 @@ static void linphone_gtk_check_soundcards(){
}
}
#ifdef HAVE_GTK_OSX
static gboolean on_block_termination(void){
gtk_main_quit();
g_message("Block termination returning %i",!app_terminated);
return !app_terminated;
}
#endif
int main(int argc, char *argv[]){
#ifdef ENABLE_NLS
void *p;
@ -1458,7 +1467,7 @@ int main(int argc, char *argv[]){
g_signal_connect(G_OBJECT(theMacApp),"NSApplicationDidBecomeActive",(GCallback)linphone_gtk_show_main_window,NULL);
g_signal_connect(G_OBJECT(theMacApp),"NSApplicationWillTerminate",(GCallback)gtk_main_quit,NULL);
/*never block termination:*/
g_signal_connect(G_OBJECT(theMacApp),"NSApplicationBlockTermination",(GCallback)gtk_false,NULL);
g_signal_connect(G_OBJECT(theMacApp),"NSApplicationBlockTermination",(GCallback)on_block_termination,NULL);
#endif
the_ui=linphone_gtk_create_window("main");
@ -1491,6 +1500,7 @@ int main(int argc, char *argv[]){
linphone_gtk_destroy_log_window();
linphone_core_destroy(the_core);
linphone_gtk_log_uninit();
app_terminated=TRUE;
#ifndef HAVE_GTK_OSX
/*workaround a bug on win32 that makes status icon still present in the systray even after program exit.*/
gtk_status_icon_set_visible(icon,FALSE);

View file

@ -5,28 +5,16 @@ AC_ARG_WITH( osip,
[ --with-osip Set prefix where osip can be found (ex:/usr or /usr/local)[default=/usr] ],
[ osip_prefix=${withval}],[ osip_prefix=/usr ])
dnl FC6's compat-osip2 headers live into "/usr/include/osip2-2.2.2",
dnl while libraries are "/usr/lib/libosipparser2-2.2.2.so*".
AC_ARG_WITH( osip-version,dnl
AC_HELP_STRING([--with-osip-version=VERSION],
[Set osip legacy version @<:@empty@:>@]),
[osip_legacy_version="-${withval}"],
[osip_legacy_version=""])
osip_pkgconfig=true
osip_pkgconfig_file=libosip2
if test -n "$osip_legacy_version"; then
osip_pkgconfig_file=libosip2${osip_legacy_version}
fi
PKG_CHECK_MODULES(OSIP, $osip_pkgconfig_file >= 3.0.0, ,osip_pkgconfig=false)
PKG_CHECK_MODULES(OSIP, $osip_pkgconfig_file >= 3.3.0, ,osip_pkgconfig=false)
if test $osip_pkgconfig = false; then
if test -z "$osip_legacy_version"; then
if test "$osip_prefix" != "/usr" ; then
OSIP_CFLAGS="-I${osip_prefix}/include"
else
OSIP_CFLAGS="-I${osip_prefix}/include/osip2${osip_legacy_version}"
fi
dnl check osip2 headers
@ -36,7 +24,10 @@ dnl check osip2 headers
CPPFLAGS=$CPPFLAGS_save
dnl check for osip2 libs
OSIP_LIBS="-L$osip_prefix/lib -losipparser2${osip_legacy_version}"
if test "$osip_prefix" != "/usr" ; then
OSIP_LIBS="-L$osip_prefix/lib"
fi
OSIP_LIBS="$OSIP_LIBS -losipparser2"
LDFLAGS_save=$LDFLAGS
LDFLAGS=$OSIP_LIBS
LIBS_save=$LIBS
@ -49,8 +40,8 @@ dnl check for osip2 libs
;;
esac
OSIP_LIBS="$OSIP_LIBS $osip_aux_libs"
AC_CHECK_LIB(osip2${osip_legacy_version},osip_init, , AC_MSG_ERROR([Could not find osip2 library !]),[-losipparser2${osip_legacy_version} $osip_aux_libs ])
AC_CHECK_LIB(osipparser2${osip_legacy_version},osip_message_init, , AC_MSG_ERROR([Could not find osipparser2 library !]),[$osip_aux_libs])
AC_CHECK_LIB(osip2,osip_init, , AC_MSG_ERROR([Could not find osip2 library !]),[-losipparser2 $osip_aux_libs ])
AC_CHECK_LIB(osipparser2,osip_message_init, , AC_MSG_ERROR([Could not find osipparser2 library !]),[$osip_aux_libs])
LDFLAGS=$LDFLAGS_save
LIBS=$LIBS_save
fi

@ -1 +1 @@
Subproject commit 9300335bbb536c4e67961c9c0b6b6b013fc4e8ff
Subproject commit 340acff0001e92d1f126b484d100e1c1d0746b34

View file

@ -17,8 +17,14 @@ distname linphone-${version}
checksums md5 @LINPHONE_MD5@
depends_lib port:libglade2 \
port:speex-devel \
port:libeXosip2
depends_lib port:ffmpeg-devel \
port:readline \
port:speex \
port:libeXosip2 \
port:libsdl-devel \
port:gtk2 \
port:ige-mac-integration
configure.args-append --disable-x11 --with-readline=/opt/local --disable-strict
configure.args-append --disable-video --with-readline=none