Commit 6209a0b3 authored by Simon Morlat's avatar Simon Morlat
Browse files

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

Conflicts:
	mediastreamer2
parents c396b74b a1b31539
......@@ -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)
......
......@@ -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.
- Now you can compile linphone
$ 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 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
- You can generate a bundle using
$ make bundle
When this version will be integrated into macports, only this will be necessary:
$ port install sdl-devel
The bundle is generated in ~/Desktop/Linphone and can safely be exported to other places and computers.
- Install gtk. It is recommended to use the quartz backend for better integration.
$ port install gtk2 +no_x11
$ port install ige-mac-integration
- Compile linphone
Compiling using MacPort
=======================
If you got the source code from git, run ./autogen.sh first.
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
$ PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure --prefix=/opt/local --with-readline=/opt/local --disable-strict --disable-x11 && make
Install to /opt/local
* 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
$ sudo make install
Done.
......
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)
......
......@@ -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);
......
......@@ -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);
......
......@@ -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
......
mediastreamer2 @ 340acff0
Subproject commit 9300335bbb536c4e67961c9c0b6b6b013fc4e8ff
Subproject commit 340acff0001e92d1f126b484d100e1c1d0746b34
......@@ -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
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment