Skip to content

Commit 3b6b078

Browse files
committed
[UPnP] changed: make UPnP optional (enabled by default), fix some missing #ifdef HAS_UPNP guards
1 parent 47f3f67 commit 3b6b078

13 files changed

+64
-18
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1156,6 +1156,7 @@ lib/cmyth/Makefile
11561156

11571157
# /xbmc/network/
11581158
/xbmc/network/Makefile
1159+
/xbmc/network/upnp/Makefile
11591160

11601161
/lib/python/Makefile
11611162
/lib/python/Include/pyconfig.h

Makefile.in

+5-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ DVDPLAYER_ARCHIVES=xbmc/cores/dvdplayer/DVDPlayer.a \
2222
DIRECTORY_ARCHIVES=$(DVDPLAYER_ARCHIVES) \
2323
lib/SlingboxLib/SlingboxLib.a \
2424
lib/libRTV/librtv.a \
25-
lib/libUPnP/libupnp.a \
2625
lib/libXDAAP/libxdaap.a \
2726
lib/libhts/libhts.a \
2827
lib/libsquish/libsquish.a \
@@ -108,6 +107,11 @@ DIRECTORY_ARCHIVES += xbmc/windowing/egl/windowing_egl.a
108107
DIRECTORY_ARCHIVES += xbmc/visualizations/EGLHelpers/eglhelpers.a
109108
endif
110109

110+
ifeq (@USE_UPNP@,1)
111+
DIRECTORY_ARCHIVES += lib/libUPnP/libupnp.a \
112+
xbmc/network/upnp/upnp.a
113+
endif
114+
111115
ifeq ($(findstring osx,@ARCH@),osx)
112116
DIRECTORY_ARCHIVES += xbmc/osx/osx.a
113117
DIRECTORY_ARCHIVES += xbmc/network/osx/network.a

configure.in

+17
Original file line numberDiff line numberDiff line change
@@ -367,6 +367,12 @@ AC_ARG_ENABLE([airtunes],
367367
[use_airtunes=$enableval],
368368
[use_airtunes=auto])
369369

370+
AC_ARG_ENABLE([upnp],
371+
[AS_HELP_STRING([--disable-upnp],
372+
[disable UPnP support (default is enabled)])],
373+
[use_upnp=$enableval],
374+
[use_upnp=yes])
375+
370376
AC_ARG_ENABLE([ffmpeg_libvorbis],
371377
[AS_HELP_STRING([--enable-ffmpeg-libvorbis],
372378
[enable FFmpeg vorbis encoding (default is no)])],
@@ -2134,6 +2140,15 @@ else
21342140
final_message="$final_message\n AirTunes support:\tNo"
21352141
fi
21362142

2143+
if test "x$use_upnp" != "xno"; then
2144+
final_message="$final_message\n UPnP support:\t\tYes"
2145+
USE_UPNP=1
2146+
AC_DEFINE([USE_UPNP], [1], [Define to 1 to enable UPnP support.])
2147+
else
2148+
USE_UPNP=0
2149+
final_message="$final_message\n UPnP support:\t\tNo"
2150+
fi
2151+
21372152
if test "$use_optical_drive" = "yes"; then
21382153
final_message="$final_message\n Optical drive:\tYes"
21392154
else
@@ -2244,6 +2259,7 @@ OUTPUT_FILES="Makefile \
22442259
xbmc/guilib/Makefile \
22452260
xbmc/interfaces/Makefile \
22462261
xbmc/network/Makefile \
2262+
xbmc/network/upnp/Makefile \
22472263
lib/libRTV/Makefile \
22482264
lib/libexif/Makefile \
22492265
lib/libXDAAP/Makefile \
@@ -2342,6 +2358,7 @@ AC_SUBST(USE_LIBCEC)
23422358
AC_SUBST(USE_CEC_RPI_API)
23432359
AC_SUBST(USE_MYSQL)
23442360
AC_SUBST(USE_WEB_SERVER)
2361+
AC_SUBST(USE_UPNP)
23452362
AC_SUBST(USE_ANDROID)
23462363
AC_SUBST(GTEST_CONFIGURED)
23472364

lib/libUPnP/Makefile.in

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
ARCH=@ARCH@
22

3+
ifeq (@USE_UPNP@, 1)
34
SRCS= Platinum/Source/Core/PltAction.cpp \
45
Platinum/Source/Core/PltArgument.cpp \
56
Platinum/Source/Core/PltConstants.cpp \
@@ -93,3 +94,4 @@ LIB=libupnp.a
9394
include ../../Makefile.include
9495
-include $(filter %.P, $(OBJS:.o=.P))
9596

97+
endif

xbmc/Application.cpp

+5-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@
118118
#include "filesystem/FileDAAP.h"
119119
#endif
120120
#ifdef HAS_UPNP
121-
#include "network/UPnP.h"
121+
#include "network/upnp/UPnP.h"
122122
#include "filesystem/UPnPDirectory.h"
123123
#endif
124124
#if defined(_LINUX) && defined(HAS_FILESYSTEM_SMB)
@@ -4032,13 +4032,15 @@ bool CApplication::PlayFile(const CFileItem& item, bool bRestart)
40324032
return false;
40334033
}
40344034

4035+
#ifdef HAS_UPNP
40354036
if (URIUtils::IsUPnP(item.GetPath()))
40364037
{
40374038
CFileItem item_new(item);
40384039
if (XFILE::CUPnPDirectory::GetResource(item.GetPath(), item_new))
40394040
return PlayFile(item_new, false);
40404041
return false;
40414042
}
4043+
#endif
40424044

40434045
// if we have a stacked set of files, we need to setup our stack routines for
40444046
// "seamless" seeking and total time of the movie etc.
@@ -5352,8 +5354,10 @@ void CApplication::ProcessSlow()
53525354
#endif
53535355

53545356
// update upnp server/renderer states
5357+
#ifdef HAS_UPNP
53555358
if(UPNP::CUPnP::IsInstantiated())
53565359
UPNP::CUPnP::GetInstance()->UpdateState();
5360+
#endif
53575361

53585362
//Check to see if current playing Title has changed and whether we should broadcast the fact
53595363
CheckForTitleChange();

xbmc/filesystem/FileFactory.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,9 @@
7777
#if defined(TARGET_ANDROID)
7878
#include "AndroidAppFile.h"
7979
#endif
80+
#ifdef HAS_UPNP
8081
#include "UPnPFile.h"
82+
#endif
8183
#include "PipesManager.h"
8284
#include "PipeFile.h"
8385
#include "MusicDatabaseFile.h"
@@ -191,7 +193,9 @@ IFile* CFileFactory::CreateLoader(const CURL& url)
191193
else if (strProtocol == "afp") return new CAFPFile();
192194
#endif
193195
else if (strProtocol == "pipe") return new CPipeFile();
196+
#ifdef HAS_UPNP
194197
else if (strProtocol == "upnp") return new CUPnPFile();
198+
#endif
195199
#if defined(TARGET_ANDROID)
196200
else if (strProtocol == "androidapp") return new CFileAndroidApp();
197201
#endif

xbmc/filesystem/Makefile.in

+5-3
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ SRCS=AddonsDirectory.cpp \
5252
MythDirectory.cpp \
5353
MythFile.cpp \
5454
MythSession.cpp \
55-
NptXbmcFile.cpp \
5655
NSFFileDirectory.cpp \
5756
OGGFileDirectory.cpp \
5857
PlaylistDirectory.cpp \
@@ -84,8 +83,6 @@ SRCS=AddonsDirectory.cpp \
8483
udf25.cpp \
8584
UDFDirectory.cpp \
8685
UDFFile.cpp \
87-
UPnPDirectory.cpp \
88-
UPnPFile.cpp \
8986
VideoDatabaseDirectory.cpp \
9087
VirtualDirectory.cpp \
9188
VTPDirectory.cpp \
@@ -126,6 +123,10 @@ ifeq (@HAVE_LIBBLURAY@,1)
126123
SRCS+=BlurayDirectory.cpp
127124
endif
128125

126+
ifeq (@USE_UPNP@,1)
127+
SRCS+=NptXbmcFile.cpp \
128+
UPnPDirectory.cpp \
129+
UPnPFile.cpp
129130
INCLUDES+=-I@abs_top_srcdir@/lib/libUPnP/Platinum/Source/Core \
130131
-I@abs_top_srcdir@/lib/libUPnP/Platinum/Source/Platinum \
131132
-I@abs_top_srcdir@/lib/libUPnP/Platinum/Source/Devices/MediaConnect \
@@ -134,6 +135,7 @@ INCLUDES+=-I@abs_top_srcdir@/lib/libUPnP/Platinum/Source/Core \
134135
-I@abs_top_srcdir@/lib/libUPnP/Platinum/Source/Extras \
135136
-I@abs_top_srcdir@/lib/libUPnP/Neptune/Source/System/Posix \
136137
-I@abs_top_srcdir@/lib/libUPnP/Neptune/Source/Core
138+
endif
137139

138140
LIB=filesystem.a
139141

xbmc/filesystem/UPnPDirectory.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
#include "UPnPDirectory.h"
2424
#include "URL.h"
25-
#include "network/UPnP.h"
25+
#include "network/upnp/UPnP.h"
2626
#include "Platinum.h"
2727
#include "PltSyncMediaBrowser.h"
2828
#include "video/VideoInfoTag.h"

xbmc/network/Makefile.in

-10
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,3 @@
1-
INCLUDES+=-I@abs_top_srcdir@/lib/libUPnP/Platinum/Source/Core \
2-
-I@abs_top_srcdir@/lib/libUPnP/Platinum/Source/Platinum \
3-
-I@abs_top_srcdir@/lib/libUPnP/Platinum/Source/Devices/MediaConnect \
4-
-I@abs_top_srcdir@/lib/libUPnP/Platinum/Source/Devices/MediaRenderer \
5-
-I@abs_top_srcdir@/lib/libUPnP/Platinum/Source/Devices/MediaServer \
6-
-I@abs_top_srcdir@/lib/libUPnP/Platinum/Source/Extras \
7-
-I@abs_top_srcdir@/lib/libUPnP/Neptune/Source/System/Posix \
8-
-I@abs_top_srcdir@/lib/libUPnP/Neptune/Source/Core
9-
101
SRCS=cddb.cpp \
112
DNSNameCache.cpp \
123
EventClient.cpp \
@@ -18,7 +9,6 @@ SRCS=cddb.cpp \
189
Socket.cpp \
1910
TCPServer.cpp \
2011
UdpClient.cpp \
21-
UPnP.cpp \
2212
WebServer.cpp \
2313
ZeroconfBrowser.cpp \
2414
Zeroconf.cpp \

xbmc/network/upnp/Makefile.in

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
ifeq (@USE_UPNP@, 1)
2+
INCLUDES+=-I@abs_top_srcdir@/lib/libUPnP/Platinum/Source/Core \
3+
-I@abs_top_srcdir@/lib/libUPnP/Platinum/Source/Platinum \
4+
-I@abs_top_srcdir@/lib/libUPnP/Platinum/Source/Devices/MediaConnect \
5+
-I@abs_top_srcdir@/lib/libUPnP/Platinum/Source/Devices/MediaRenderer \
6+
-I@abs_top_srcdir@/lib/libUPnP/Platinum/Source/Devices/MediaServer \
7+
-I@abs_top_srcdir@/lib/libUPnP/Platinum/Source/Extras \
8+
-I@abs_top_srcdir@/lib/libUPnP/Neptune/Source/System/Posix \
9+
-I@abs_top_srcdir@/lib/libUPnP/Neptune/Source/Core
10+
11+
SRCS= UPnP.cpp
12+
13+
LIB=upnp.a
14+
15+
include @abs_top_srcdir@/Makefile.include
16+
-include $(patsubst %.cpp,%.P,$(patsubst %.c,%.P,$(SRCS)))
17+
18+
endif
19+

xbmc/network/UPnP.cpp xbmc/network/upnp/UPnP.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
#include "utils/URIUtils.h"
2626
#include "Application.h"
2727
#include "ApplicationMessenger.h"
28-
#include "Network.h"
28+
#include "network/Network.h"
2929
#include "utils/log.h"
3030
#include "filesystem/MusicDatabaseDirectory.h"
3131
#include "filesystem/VideoDatabaseDirectory.h"
File renamed without changes.

xbmc/system.h

+4-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
#define HAS_SCREENSAVER
3737
#define HAS_PYTHON
3838
#define HAS_SYSINFO
39-
#define HAS_UPNP
4039
#define HAS_VIDEO_PLAYBACK
4140
#define HAS_VISUALISATION
4241
#define HAS_PVRCLIENTS
@@ -85,6 +84,10 @@
8584
#define HAS_MYSQL
8685
#endif
8786

87+
#if defined(USE_UPNP)
88+
#define HAS_UPNP
89+
#endif
90+
8891
/**********************
8992
* Non-free Components
9093
**********************/

0 commit comments

Comments
 (0)