include $(TOPDIR)/rules.mk
PKG_NAME:=libupnp
-PKG_VERSION:=1.2.1a
+PKG_VERSION:=1.6.6
PKG_RELEASE:=1
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=@SF/upnp
-PKG_MD5SUM:=e72b3550bf064eedf080f16f09688891
-PKG_CAT:=zcat
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=@SF/pupnp
+PKG_MD5SUM:=8918dcf7428cd119d0c8275765ff2833
include $(INCLUDE_DIR)/package.mk
-define Package/libupnp
+define Package/libupnp/Default
SECTION:=libs
CATEGORY:=Libraries
+ URL:=http://upnp.sourceforge.net/
+endef
+
+define Package/libupnp
+ $(call Package/libupnp/Default)
DEPENDS:=+libpthread
TITLE:=UPnP SDK library
- DESCRIPTION:=\
- The Universal Plug and Play (UPnP) SDK for Linux provides support \\\
- for building UPnP-compliant control points, devices, and bridges \\\
- on Linux.
- URL:=http://upnp.sourceforge.net/
+ MENU:=1
+endef
+
+define Package/libupnp/description
+ The portable SDK for UPnP Devices (libupnp) provides developers with an
+ API and open source code for building control points, devices, and
+ bridges that are compliant with Version 1.0 of the Universal Plug and
+ Play Device Architecture Specification and support several operating
+ systems like Linux, *BSD, Solaris and others.
+endef
+
+define Package/libupnp-sample
+ $(call Package/libupnp/Default)
+ DEPENDS:=libupnp
+ TITLE:=UPnP sample applications
+endef
+
+define Package/libupnp-sample/description
+ TVcontrolpoint & tvdevice sample applications
+ run inside /etc/upnp-tvdevice/
endef
define Build/Configure
+ $(call Build/Configure/Default, \
+ --enable-shared \
+ --enable-static \
+ );
endef
+TARGET_CFLAGS += $(FPIC)
+
define Build/Compile
- $(MAKE) -C $(PKG_BUILD_DIR)/upnp \
- $(TARGET_CONFIGURE_OPTS) \
- OPT_FLAGS="$(TARGET_CFLAGS)" \
- STRIP=/bin/true
+ $(MAKE) -C $(PKG_BUILD_DIR) \
+ CCOPT="$(TARGET_CFLAGS)" \
+ DESTDIR="$(PKG_INSTALL_DIR)" \
+ all install
+ $(MAKE) -C $(PKG_BUILD_DIR)/upnp/sample/ upnp_tv_device upnp_tv_ctrlpt
endef
-define Build/InstallDev
- mkdir -p $(STAGING_DIR)/usr/include/upnp
- $(CP) $(PKG_BUILD_DIR)/upnp/inc/*.h $(STAGING_DIR)/usr/include/upnp/
- mkdir -p $(STAGING_DIR)/usr/lib
- $(CP) $(PKG_BUILD_DIR)/upnp/bin/lib{ixml,threadutil,upnp}.so $(STAGING_DIR)/usr/lib/
+define Build/Compile/libupnp-sample
+ $(MAKE) -C $(PKG_BUILD_DIR) \
+ CCOPT="$(TARGET_CFLAGS)" \
+ DESTDIR="$(PKG_INSTALL_DIR)" \
+ check
endef
-define Build/UninstallDev
- rm -rf \
- $(STAGING_DIR)/usr/include/upnp \
- $(STAGING_DIR)/usr/lib/lib{ixml,threadutil,upnp}.so
+define Build/InstallDev
+ mkdir -p $(1)/usr/include
+ $(CP) $(PKG_INSTALL_DIR)/usr/include/upnp $(1)/usr/include/
+ mkdir -p $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{ixml,threadutil,upnp}.{a,so*} $(1)/usr/lib/
+ mkdir -p $(1)/usr/lib/pkgconfig
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libupnp.pc $(1)/usr/lib/pkgconfig/
endef
define Package/libupnp/install
- install -d -m0755 $(1)/usr/lib
- $(CP) $(PKG_BUILD_DIR)/upnp/bin/lib{ixml,threadutil,upnp}.so $(1)/usr/lib/
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{ixml,threadutil,upnp}.so.* $(1)/usr/lib/
+endef
+
+define Package/libupnp-sample/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/upnp/sample/upnp_tv_device $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/upnp/sample/upnp_tv_ctrlpt $(1)/usr/bin
+ $(INSTALL_DIR) $(1)/etc/upnp-tvdevice/web
+ $(CP) $(PKG_BUILD_DIR)/upnp/sample/web/* $(1)/etc/upnp-tvdevice
endef
$(eval $(call BuildPackage,libupnp))
+$(eval $(call BuildPackage,libupnp-sample))