Commit 3f00a92d authored by Felix Paul Kühne's avatar Felix Paul Kühne

* added the needed libraries for UPnP-support on OSX

 - CyberLink C++ UPnP 1.7.1
 - libexpat 1.95.8
 
Note that Cyberlink compiles fine, but must not access its own install script, so we need to run "chmod 755" on this script first. 
The general patch was created by courmisch. Thanks again!

The additional osx-patch is a really ugly hack which disables libiconv to let our upnp-plugin compile. I'll further investigate this in the next couple of days (see ticket #367).
parent 62ddff1c
......@@ -117,7 +117,7 @@ ifdef HAVE_DARWIN_OS
.FLAC .speex .shout .faad .faac .lame .twolame .ebml .matroska .ffmpeg .openslp \
.dvdcss .dvdread .dvdnav .dvbpsi .live .goom2k4 .caca .mod \
.png .gpg-error .gcrypt .gnutls .opendaap .cddb .cdio .vcdimager .SDL_image \
.glib .libidl .gecko .libmpcdec .aclocal
.glib .libidl .gecko .libmpcdec .expat .clinkcc .aclocal
# .mozilla will build an entire mozilla. it can be used if we need to create a new .gecko package
else
......@@ -1271,7 +1271,6 @@ CLEAN_PKG += portaudio
DISTCLEAN_PKG += pa_snapshot_v$(PORTAUDIO__VERSION).tar.gz
# ***************************************************************************
# xml
# ***************************************************************************
......@@ -1288,7 +1287,9 @@ endif
.xml: xml
(cd xml; ./configure $(HOSTCONF) --prefix=$(PREFIX) --with-minimal --with-catalog --with-reader --with-tree --with-push --with-xptr --with-valid --with-writer --with-output --with-xpath --with-xinclude --with-sax1 --without-zlib --without-iconv --without-http --without-ftp && make && make install)
ifndef HAVE_DARWIN_OS
$(INSTALL_NAME)
endif
touch $@
CLEAN_FILE += .xml
......@@ -1662,11 +1663,9 @@ CLEAN_FILE += .libmpcdec
CLEAN_PKG += libmpcdec
DISTCLEAN_PKG += libmpcdec-$(MUSE_VERSION).tar.bz2
# ***************************************************************************
# Dirac
# ***************************************************************************
# Dirac
# ***************************************************************************
dirac-$(DIRAC_VERSION).tar.gz:
$(WGET) $(DIRAC_URL)
......@@ -1708,7 +1707,48 @@ dshow-headers.tgz:
touch $@
CLEAN_FILE += .dshow_headers
DISTCLEAN_PKG += dshow-headers.tgz
# ***************************************************************************
# libexpat
# ***************************************************************************
expat-$(EXPAT_VERSION).tar.gz:
$(WGET) $(EXPAT_URL)
expat: expat-$(EXPAT_VERSION).tar.gz
$(EXTRACT_GZ)
.expat: expat
(cd $<; ./configure --prefix=$(PREFIX) && make && make install)
touch $@
CLEAN_FILE += .expat
CLEAN_PKG += expat
DISTCLEAN_PKG += expat-$(EXPAT_VERSION).tar.gz
# ***************************************************************************
# CyberLink C++ UPnP library
# ***************************************************************************
clinkcc$(CLINKCC_VERSION).tar.gz:
$(WGET) $(CLINKCC_URL)
clinkcc: clinkcc$(CLINKCC_VERSION).tar.gz
tar xzf $<
mv $(patsubst %.tar.gz,Cyberlink,$(patsubst %.tgz,Cyberlink,$(notdir $<))) $@ || true
touch $@
patch -p 0 < Patches/clinkcc.patch
ifdef HAVE_DARWIN_OS
patch -p 0 < Patches/clinkcc_osx.patch
endif
.clinkcc: clinkcc
(cd $<; ./bootstrap && ./configure --prefix=$(PREFIX) --enable-expat && make && chmod 755 config/install-sh && make install )
touch $@
CLEAN_FILE += .clinkcc
CLEAN_PKG += clinkcc
DISTCLEAN_PKG += clinkcc-$(CLINKCC_VERSION).tar.gz
# ***************************************************************************
# Copy aclocal files
......
diff -ru clinkcc.orig/configure.in clinkcc/configure.in
--- clinkcc.orig/configure.in 2005-11-14 18:08:07.000000000 +0100
+++ clinkcc/configure.in 2005-11-14 18:08:13.000000000 +0100
@@ -150,6 +150,7 @@
AC_CHECK_FUNCS([iconv])
AC_CHECK_HEADERS([iconv.h])
AC_CHECK_LIB([iconv],[main])
+AM_ICONV
##############################
# Checks for pthread
diff -ru clinkcc.orig/src/cybergarage/xml/XML.cpp clinkcc/src/cybergarage/xml/XML.cpp
--- clinkcc.orig/src/cybergarage/xml/XML.cpp 2005-11-14 18:08:07.000000000 +0100
+++ clinkcc/src/cybergarage/xml/XML.cpp 2005-11-14 18:08:13.000000000 +0100
@@ -123,7 +123,7 @@
char *cpbuf = strdup(str);
if (cpbuf == NULL)
return NULL;
- const char *inbuf = cpbuf;
+ ICONV_CONST char *inbuf = cpbuf;
size_t inbyteleft = strlen(str);
size_t outbufSize = inbyteleft * sizeof(UnicodeStr) * 4;
UnicodeStr *outbuf = new UnicodeStr[outbufSize + 1];
diff -ru clinkcc.orig/src/cybergarage/xml/libxml2/Libxml2Parser.cpp clinkcc/src/cybergarage/xml/libxml2/Libxml2Parser.cpp
--- clinkcc.orig/src/cybergarage/xml/libxml2/Libxml2Parser.cpp 2005-11-14 18:08:07.000000000 +0100
+++ clinkcc/src/cybergarage/xml/libxml2/Libxml2Parser.cpp 2005-11-14 18:08:44.000000000 +0100
@@ -124,7 +124,7 @@
xmlNodePtr child = cur->xmlChildrenNode;
while ( child != NULL ) {
- Node *newChildNode = convertToCLinkFormat( doc, child, depth 1 );
+ Node *newChildNode = convertToCLinkFormat( doc, child, depth );
if ( newChildNode ) {
newNode->addNode( newChildNode );
}
diff -ru clinkcc.orig/src/cybergarage/xml/XML.cpp clinkcc/src/cybergarage/xml/XML.cpp
--- clinkcc.orig/src/cybergarage/xml/XML.cpp 2005-11-14 18:11:07.000000000 +0100
+++ clinkcc/src/cybergarage/xml/XML.cpp 2005-11-14 18:12:27.000000000 +0100
@@ -117,7 +117,7 @@
}
utf8str[outLen] = '\0';
return utf8str;
-#elif defined(HAVE_ICONV) || defined(HAVE_ICONV_H)
+/*#elif defined(HAVE_ICONV) || defined(HAVE_ICONV_H)
iconvMutex.lock();
char *cpbuf = strdup(str);
@@ -166,7 +166,7 @@
free(cpbuf);
iconvMutex.unlock();
- return unistr;
+ return unistr;*/
#else
outLen = strlen(str);
UnicodeStr *utf8str = new UnicodeStr[outLen+1];
......@@ -158,3 +158,7 @@ DX_HEADERS_URL=$(VIDEOLAN)/testing/contrib/win32-dx7headers.tgz
DSHOW_HEADERS_URL=$(VIDEOLAN)/contrib/dshow-headers.tgz
PORTAUDIO_VERSION=19
PORTAUDIO_URL=http://www.portaudio.com/archives/pa_snapshot_v$(PORTAUDIO_VERSION).tar.gz
CLINKCC_VERSION=171
CLINKCC_URL=$(SF)/clinkcc/clinkcc$(CLINKCC_VERSION).tar.gz
EXPAT_VERSION=1.95.8
EXPAT_URL=$(SF)/expat/expat-$(EXPAT_VERSION).tar.gz
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