libupnp: add initial recipe, libupnp v1.6.19

http://pupnp.sourceforge.net/

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Andre McCurdy
2015-06-09 14:39:01 -07:00
committed by Martin Jansa
parent 13a7f47192
commit 4e3fd58988
3 changed files with 126 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
From 22fba4f2765f92cd592a58e1fe5c450b187e30e1 Mon Sep 17 00:00:00 2001
From: Andre McCurdy <armccurdy@gmail.com>
Date: Wed, 3 Jun 2015 21:39:03 -0700
Subject: [PATCH] avoid redefining strnlen() and strndup()
Rely on string.h definitions instead. Workaround for compiler errors such as:
| i686-rdk-linux-libtool: compile: i686-rdk-linux-gcc -m32 -march=atom -mtune=atom -fschedule-insns -fsched-pressure -msse3 -mfpmath=sse --sysroot=/home/andre/build/tmp/sysroots/7401 -DHAVE_CONFIG_H -I. -I/home/andre/build/tmp/work/core2-32-rdk-linux/libupnp/1.6.19-r0/libupnp-1.6.19/upnp -I.. -I../upnp/inc -I/home/andre/build/tmp/work/core2-32-rdk-linux/libupnp/1.6.19-r0/libupnp-1.6.19/upnp/inc -I/home/andre/build/tmp/work/core2-32-rdk-linux/libupnp/1.6.19-r0/libupnp-1.6.19/threadutil/inc -I/home/andre/build/tmp/work/core2-32-rdk-linux/libupnp/1.6.19-r0/libupnp-1.6.19/ixml/inc -I/home/andre/build/tmp/work/core2-32-rdk-linux/libupnp/1.6.19-r0/libupnp-1.6.19/upnp/src/inc -pthread -O2 -pipe -g -feliminate-unused-debug-types -Os -Wall -c /home/andre/build/tmp/work/core2-32-rdk-linux/libupnp/1.6.19-r0/libupnp-1.6.19/upnp/src/gena/gena_callback2.c -o src/gena/libupnp_la-gena_callback2.o >/dev/null 2>&1
| In file included from /home/andre/build/tmp/sysroots/7401/usr/include/string.h:634:0,
| from /home/andre/build/tmp/work/core2-32-rdk-linux/libupnp/1.6.19-r0/libupnp-1.6.19/upnp/src/api/UpnpString.c:23:
| /home/andre/build/tmp/work/core2-32-rdk-linux/libupnp/1.6.19-r0/libupnp-1.6.19/upnp/src/api/UpnpString.c:47:15: error: expected identifier or '(' before '__extension__'
| extern char *strndup(__const char *__string, size_t __n);
| ^
| make[3]: *** [src/api/libupnp_la-UpnpString.lo] Error 1
Upstream-Status: Pending
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
---
upnp/src/api/UpnpString.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/upnp/src/api/UpnpString.c b/upnp/src/api/UpnpString.c
index 41c9898..2fa09d7 100644
--- a/upnp/src/api/UpnpString.c
+++ b/upnp/src/api/UpnpString.c
@@ -32,7 +32,7 @@
/* VC has strnlen which is already included but with (potentially) different linkage */
/* strnlen() is a GNU extension. */
#if HAVE_STRNLEN
- extern size_t strnlen(const char *s, size_t maxlen);
+// extern size_t strnlen(const char *s, size_t maxlen);
#else /* HAVE_STRNLEN */
static size_t strnlen(const char *s, size_t n)
{
@@ -44,7 +44,7 @@
/* strndup() is a GNU extension. */
#if HAVE_STRNDUP && !defined(WIN32)
- extern char *strndup(__const char *__string, size_t __n);
+// extern char *strndup(__const char *__string, size_t __n);
#else /* HAVE_STRNDUP && !defined(WIN32) */
static char *strndup(const char *__string, size_t __n)
{
--
1.9.1

View File

@@ -0,0 +1,60 @@
From e198f0a87660a048164ca0e16d18517d0aee846e Mon Sep 17 00:00:00 2001
From: Andre McCurdy <armccurdy@gmail.com>
Date: Tue, 9 Jun 2015 12:20:45 -0700
Subject: [PATCH] Fix builds when using separate source and build directories.
Upstream-Status: Pending
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
---
configure.ac | 8 ++++----
ixml/Makefile.am | 2 +-
threadutil/Makefile.am | 2 +-
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/configure.ac b/configure.ac
index e2c3f47..11d5e22 100644
--- a/configure.ac
+++ b/configure.ac
@@ -714,8 +714,8 @@ AC_OUTPUT
#
# Files copied for windows compilation.
#
-echo "configure: copying \"autoconfig.h\" to \"build/inc/autoconfig.h\""
-cp autoconfig.h build/inc/autoconfig.h
-echo "configure: copying \"upnp/inc/upnpconfig.h\" to \"build/inc/upnpconfig.h\""
-cp upnp/inc/upnpconfig.h build/inc/upnpconfig.h
+echo "configure: copying \"autoconfig.h\" to \"\$srcdir/build/inc/autoconfig.h\""
+cp autoconfig.h $srcdir/build/inc/autoconfig.h
+echo "configure: copying \"upnp/inc/upnpconfig.h\" to \"\$srcdir/build/inc/upnpconfig.h\""
+cp upnp/inc/upnpconfig.h $srcdir/build/inc/upnpconfig.h
diff --git a/ixml/Makefile.am b/ixml/Makefile.am
index 49da766..0e9ab2c 100644
--- a/ixml/Makefile.am
+++ b/ixml/Makefile.am
@@ -7,7 +7,7 @@
SUBDIRS = doc
-AM_CPPFLAGS = -I$(srcdir)/inc -I$(srcdir)/src/inc
+AM_CPPFLAGS = -I$(top_srcdir)/upnp/inc -I$(srcdir)/inc -I$(srcdir)/src/inc
AM_CFLAGS =
LDADD = libixml.la
diff --git a/threadutil/Makefile.am b/threadutil/Makefile.am
index a4ed325..42d0726 100644
--- a/threadutil/Makefile.am
+++ b/threadutil/Makefile.am
@@ -4,7 +4,7 @@
# (C) Copyright 2005 Remi Turboult <r3mi@users.sourceforge.net>
#
-AM_CPPFLAGS = -I$(srcdir)/inc -I$(srcdir)/src/inc
+AM_CPPFLAGS = -I$(top_srcdir)/upnp/inc -I$(srcdir)/inc -I$(srcdir)/src/inc
if ENABLE_DEBUG
AM_CPPFLAGS += -DDEBUG -DSTATS
--
1.9.1

View File

@@ -0,0 +1,19 @@
SUMMARY = "Portable SDK for UPnP* Devices"
DESCRIPTION = "The Portable SDK for UPnP Devices is an SDK for development of \
UPnP device and control point applications. It consists of the core UPnP \
protocols along with a UPnP-specific eXtensible Markup Language (XML) parser \
supporting the Document Object Model (DOM) Level 2 API and an optional, \
integrated mini web server for serving UPnP related documents."
HOMEPAGE = "http://pupnp.sourceforge.net/"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b3190d5244e08e78e4c8ee78544f4863"
SRC_URI = "${SOURCEFORGE_MIRROR}/pupnp/${BP}.tar.bz2 \
file://avoid-redefining-strnlen-and-strndup.patch \
file://sepbuildfix.patch \
"
SRC_URI[md5sum] = "ee16e5d33a3ea7506f38d71facc057dd"
SRC_URI[sha256sum] = "b3142b39601243b50532eec90f4a27dba85eb86f58d4b849ac94edeb29d9b22a"
inherit autotools