[package] add poco C++ library
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sat, 4 Sep 2010 18:03:54 +0000 (18:03 +0000)
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sat, 4 Sep 2010 18:03:54 +0000 (18:03 +0000)
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 <leonard.nicolas@gmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/packages@22910 3c298f89-4303-0410-b956-a3cf2f4a3e73

libs/poco/Makefile [new file with mode: 0644]
libs/poco/patches/100-sharedmemory.patch [new file with mode: 0644]

diff --git a/libs/poco/Makefile b/libs/poco/Makefile
new file mode 100644 (file)
index 0000000..c681852
--- /dev/null
@@ -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 (file)
index 0000000..811a964
--- /dev/null
@@ -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=<component>{,<component>}
+     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
+