From e2097a671fc93b6bdb9e9b171e751f14a82a8786 Mon Sep 17 00:00:00 2001 From: florian Date: Sat, 4 Sep 2010 18:03:54 +0000 Subject: [PATCH] [package] add poco C++ library The included patch modifies the poco configure script by adding an option to disable the support of shared memory (not supported by uclibc). It can be improved by disabling the compiling of the debug version of the libraries - they are currently not included in the ipkg, but are still compiled. Signed-off-by: Nicolas Leonard git-svn-id: svn://svn.openwrt.org/openwrt/packages@22910 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- libs/poco/Makefile | 58 ++++++++++++++++++++++++ libs/poco/patches/100-sharedmemory.patch | 26 +++++++++++ 2 files changed, 84 insertions(+) create mode 100644 libs/poco/Makefile create mode 100644 libs/poco/patches/100-sharedmemory.patch diff --git a/libs/poco/Makefile b/libs/poco/Makefile new file mode 100644 index 000000000..c681852bc --- /dev/null +++ b/libs/poco/Makefile @@ -0,0 +1,58 @@ +# +# Copyright (C) 2007-2010 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=poco +PKG_VERSION:=1.3.6p2 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=http://downloads.sourceforge.net/project/poco/sources/poco-1.3.6 +PKG_MD5SUM:=32d154ca5f34d20217c0baaffa432c1c + +PKG_INSTALL:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/poco + NAME:=poco + SECTION:=libs + CATEGORY:=Libraries + TITLE:=Poco C++ libraries + URL:=http://www.pocoproject.org/ + DEPENDS:=+libstdcpp +endef + +define Package/poco/description + Modern, powerful open source C++ class libraries and frameworks for building + network- and internet-based applications that run on desktop, server and + embedded systems. +endef + +CONFIGURE_ARGS += \ + --config=Linux \ + --no-tests \ + --no-samples \ + --no-fpenvironment \ + --no-sharedmemory \ + --no-wstring + +define Package/poco/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libPoco{Foundation,XML,Net,Util}.so* $(1)/usr/lib/ +endef + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include + $(CP) -r $(PKG_INSTALL_DIR)/usr/include/Poco $(1)/usr/include/ + + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libPoco{Foundation,XML,Net,Util}.so* $(1)/usr/lib/ +endef + +$(eval $(call BuildPackage,poco)) diff --git a/libs/poco/patches/100-sharedmemory.patch b/libs/poco/patches/100-sharedmemory.patch new file mode 100644 index 000000000..811a96480 --- /dev/null +++ b/libs/poco/patches/100-sharedmemory.patch @@ -0,0 +1,26 @@ +--- a/configure ++++ b/configure +@@ -50,6 +50,11 @@ + Useful if your C++ compiler has incomplete floating-point support + (such as uClibc-based systems). + ++ --no-sharedmemory ++ Compile with -DPOCO_NO_SHAREDMEMORY ++ Useful if your C++ compiler has incomplete shared memory support ++ (such as uClibc-based systems). ++ + --omit={,} + Do not build the specified component(s). + Example: --omit=Data/MySQL,Data/ODBC,Zip +@@ -140,6 +145,10 @@ + flags="$flags -DPOCO_NO_FPENVIRONMENT" + fi + ++ if [ "$1" = "--no-sharedmemory" ] ; then ++ flags="$flags -DPOCO_NO_SHAREDMEMORY" ++ fi ++ + if [ "$1" = "--poquito" ] ; then + flags="$flags -DPOCO_NO_FILECHANNEL -DPOCO_NO_SPLITTERCHANNEL -DPOCO_NO_SYSLOGCHANNEL -DPOCO_UTIL_NO_INIFILECONFIGURATION -DPOCO_UTIL_NO_XMLCONFIGURATION" + fi +