From d3f044321b8c76ffffb11afb05e26d5da7507902 Mon Sep 17 00:00:00 2001
From: Julien Bonjean <julien@bonjean.info>
Date: Thu, 19 Nov 2009 12:40:10 -0500
Subject: [PATCH] [#1671] Added compilation flag for network-manager support

---
 sflphone-common/configure.ac                 | 9 +++++++++
 sflphone-common/src/Makefile.am              | 8 +++++++-
 sflphone-common/src/dbus/Makefile.am         | 8 +++++++-
 sflphone-common/src/dbus/dbusmanagerimpl.cpp | 2 ++
 sflphone-common/src/dbus/networkmanager.cpp  | 3 +++
 5 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/sflphone-common/configure.ac b/sflphone-common/configure.ac
index d4b9b3a5f1..e3c869ac13 100644
--- a/sflphone-common/configure.ac
+++ b/sflphone-common/configure.ac
@@ -382,6 +382,15 @@ AC_ARG_WITH([iax2],
 AC_DEFINE([HAVE_IAX], test "x$with_iax2" = "xyes", [Define if you have libiax2])
 AM_CONDITIONAL(USE_IAX, test "x$with_iax2" = "xyes" )
 
+	dnl Check for network-manager
+AC_ARG_WITH([networkmanager],
+		[AS_HELP_STRING([--without-networkmanager],
+			[disable support for network-manager events])],
+		[],
+		[with_networkmanager=yes])
+
+AM_CONDITIONAL(USE_NETWORKMANAGER, test "x$with_networkmanager" = "xyes" )
+
 # check for doxygen, mostly stolen from http://log4cpp.sourceforge.net/
 # ----------------------------------------------------------------------------
 AC_DEFUN([BB_ENABLE_DOXYGEN],
diff --git a/sflphone-common/src/Makefile.am b/sflphone-common/src/Makefile.am
index 1dcc2584f1..6df7edf547 100644
--- a/sflphone-common/src/Makefile.am
+++ b/sflphone-common/src/Makefile.am
@@ -29,8 +29,14 @@ IAX_CXXFLAG=
 IAX_LIB=
 endif
 
+if USE_NETWORKMANAGER
+NETWORKMANAGER=-DUSE_NETWORKMANAGER
+else
+NETWORKMANAGER=
+endif
+
 sflphoned_CXXFLAGS = \
-		-DPREFIX=\"$(prefix)\" -DPROGSHAREDIR=\"${datadir}/sflphone\" $(IAX_CXXFLAG)\
+		-DPREFIX=\"$(prefix)\" -DPROGSHAREDIR=\"${datadir}/sflphone\" $(IAX_CXXFLAG) $(NETWORKMANAGER) \
 		-DVERSION=\"$(VERSION)\" \
 		@ZRTPCPP_CFLAGS@ \
 		@libssl_CFLAGS@
diff --git a/sflphone-common/src/dbus/Makefile.am b/sflphone-common/src/dbus/Makefile.am
index 7ee673bcb3..a3c5dbbf0c 100644
--- a/sflphone-common/src/dbus/Makefile.am
+++ b/sflphone-common/src/dbus/Makefile.am
@@ -20,7 +20,13 @@ libdbus_la_SOURCES = \
     dbusmanagerimpl.cpp  \
     networkmanager.cpp
 
-libdbus_la_CXXFLAGS = -DPREFIX=\"$(prefix)\" -DPROGSHAREDIR=\"${datadir}/sflphone\"
+if USE_NETWORKMANAGER
+NETWORKMANAGER=-DUSE_NETWORKMANAGER
+else
+NETWORKMANAGER=
+endif
+
+libdbus_la_CXXFLAGS = -DPREFIX=\"$(prefix)\" -DPROGSHAREDIR=\"${datadir}/sflphone\" $(NETWORKMANAGER)
 
 libdbus_la_LIBADD = $(top_srcdir)/libs/dbus-c++/src/libdbus-c++-1.la
 
diff --git a/sflphone-common/src/dbus/dbusmanagerimpl.cpp b/sflphone-common/src/dbus/dbusmanagerimpl.cpp
index 61504e8782..bfcc237ca3 100644
--- a/sflphone-common/src/dbus/dbusmanagerimpl.cpp
+++ b/sflphone-common/src/dbus/dbusmanagerimpl.cpp
@@ -41,7 +41,9 @@ DBusManagerImpl::exec()
     _configurationManager = new ConfigurationManager (sessionConnection);
     _instanceManager = new Instance (sessionConnection);
 
+#ifdef USE_NETWORKMANAGER
     _networkManager = new NetworkManager(systemConnection, "/org/freedesktop/NetworkManager", "");
+#endif
 
     // Register accounts
     Manager::instance().initRegisterAccounts(); //getEvents();
diff --git a/sflphone-common/src/dbus/networkmanager.cpp b/sflphone-common/src/dbus/networkmanager.cpp
index a34e21345b..b1197b6c0f 100644
--- a/sflphone-common/src/dbus/networkmanager.cpp
+++ b/sflphone-common/src/dbus/networkmanager.cpp
@@ -1,3 +1,5 @@
+#ifdef USE_NETWORKMANAGER
+
 #include <global.h>
 #include "networkmanager.h"
 #include <iostream>
@@ -57,3 +59,4 @@ NetworkManager::NetworkManager(DBus::Connection& connection, const DBus::Path& p
 {
 }
 
+#endif
-- 
GitLab