[banshee: 50/57] build: Allow disabling the UPnPClient extension



commit 0e41988a3c1da72f2d6850ab9f0459e2c6a06fae
Author: Bertrand Lorentz <bertrand lorentz gmail com>
Date:   Thu Feb 9 21:23:18 2012 +0100

    build: Allow disabling the UPnPClient extension
    
    The UPnPClient is built by default, but this can be disabled by
    passing --disable-upnp to configure.
    
    Also rework the BANSHEE_CHECK_MONO_UPNP, to only call pkg-config once.

 build/build.environment.mk                    |    2 +-
 build/m4/banshee/mono-upnp.m4                 |   22 ++++++++++++++++------
 configure.ac                                  |    1 +
 src/Extensions/Banshee.UPnPClient/Makefile.am |    4 ++++
 4 files changed, 22 insertions(+), 7 deletions(-)
---
diff --git a/build/build.environment.mk b/build/build.environment.mk
index 9d2043c..508e261 100644
--- a/build/build.environment.mk
+++ b/build/build.environment.mk
@@ -29,7 +29,7 @@ LINK_MONO_ADDINS_DEPS = $(MONO_ADDINS_LIBS)
 LINK_MONO_ADDINS_SETUP_DEPS = $(MONO_ADDINS_SETUP_LIBS)
 LINK_INDICATESHARP = $(INDICATESHARP_LIBS)
 LINK_UBUNTUONESHARP = $(UBUNTUONESHARP_LIBS)
-LINK_MONO_UPNP = $(MONO_SSDP_LIBS) $(MONO_UPNP_LIBS) $(MONO_UPNP_DCP_MEDIASERVER1_LIBS)
+LINK_MONO_UPNP = $(MONO_UPNP_LIBS)
 
 DIR_BIN = $(top_builddir)/bin
 
diff --git a/build/m4/banshee/mono-upnp.m4 b/build/m4/banshee/mono-upnp.m4
index 744a1b2..bc90abf 100644
--- a/build/m4/banshee/mono-upnp.m4
+++ b/build/m4/banshee/mono-upnp.m4
@@ -1,12 +1,22 @@
 AC_DEFUN([BANSHEE_CHECK_MONO_UPNP],
 [
-	PKG_CHECK_MODULES(MONO_SSDP, mono.ssdp >= 0.1)
-	AC_SUBST(MONO_SSDP_LIBS)
+	MONOUPNP_REQUIRED=0.1
 
-	PKG_CHECK_MODULES(MONO_UPNP, mono.upnp >= 0.1)
-	AC_SUBST(MONO_UPNP_LIBS)
+	AC_ARG_ENABLE(upnp, AC_HELP_STRING([--disable-upnp], [Disable UPnP support]), , enable_upnp="yes")
+
+	if test "x$enable_upnp" = "xyes"; then
+		has_mono-upnp=no
+		PKG_CHECK_MODULES(MONO_UPNP,
+			mono.ssdp >= $MONOUPNP_REQUIRED
+			mono.upnp >= $MONOUPNP_REQUIRED
+			mono.upnp.dcp.mediaserver1 >= $MONOUPNP_REQUIRED)
+
+		AC_SUBST(MONO_UPNP_LIBS)
+
+		AM_CONDITIONAL(UPNP_ENABLED, true)
+	else
+		AM_CONDITIONAL(UPNP_ENABLED, false)
+	fi
 
-	PKG_CHECK_MODULES(MONO_UPNP_DCP_MEDIASERVER1, mono.upnp.dcp.mediaserver1 >= 0.1)
-	AC_SUBST(MONO_UPNP_DCP_MEDIASERVER1_LIBS)
 ])
 
diff --git a/configure.ac b/configure.ac
index 1bb59c6..c3dc7a3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -396,6 +396,7 @@ ${PACKAGE}-${VERSION}
     YouTube:               ${enable_youtube} (gdata-sharp >= 1.4)
     Sound Menu:            ${enable_soundmenu}
     Ubuntu One Store:      ${enable_ubuntuone} (ubuntuone-sharp >= 0.3.2)
+    UPnP:                  ${enable_upnp} (mono-upnp >= $MONOUPNP_REQUIRED)
 
   Build/Development:
     Unit Tests:            ${do_tests} (nunit >= ${NUNIT_REQUIRED})
diff --git a/src/Extensions/Banshee.UPnPClient/Makefile.am b/src/Extensions/Banshee.UPnPClient/Makefile.am
index 6abc5f2..ab7ebb5 100644
--- a/src/Extensions/Banshee.UPnPClient/Makefile.am
+++ b/src/Extensions/Banshee.UPnPClient/Makefile.am
@@ -13,5 +13,9 @@ SOURCES =  \
 
 RESOURCES = Banshee.UPnPClient.addin.xml
 
+if UPNP_ENABLED
 include $(top_srcdir)/build/build.mk
+else
+include $(top_srcdir)/build/build.dist.mk
+endif
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]