Patchwork [v4,2/2] zeromq: add PGM/EPGM support

login
register
mail settings
Submitter Alexander Lukichev
Date March 4, 2013, 9:48 a.m.
Message ID <1362390492-22434-2-git-send-email-alexander.lukichev@gmail.com>
Download mbox | patch
Permalink /patch/224667/
State Accepted
Commit eaf746eb9e8b10d5ff5011a989014b3df4b31ddc
Headers show

Comments

Alexander Lukichev - March 4, 2013, 9:48 a.m.
This adds support for Pragmatic General Multicast protocol on raw
IP (PGM, RFC 3208) or UDP frames (EPGM) for use as zeromq reliable
multicast transport. The library relies on openpgm package to
implement the protocol itself.

Signed-off-by: Alexander Lukichev <alexander.lukichev@gmail.com>
---
Although zeromq sources come with a pre-packaged version of
openpgm, due to cross-compilation problems of openpgm it is easier
to build it independently of zeromq, install it into staging tree
and then make zeromq link against installed library using
--with-system-pgm configure option. The patch takes this approach,
placing a dependency on openpgm package and selecting to build it
when a user selects "PGM/EPGM support" option in Buildroot config.
---
 package/zeromq/Config.in | 9 +++++++++
 package/zeromq/zeromq.mk | 5 +++++
 2 files changed, 14 insertions(+)
Thomas Petazzoni - March 11, 2013, 5:45 p.m.
Dear Alexander Lukichev,

On Mon,  4 Mar 2013 11:48:12 +0200, Alexander Lukichev wrote:
> This adds support for Pragmatic General Multicast protocol on raw
> IP (PGM, RFC 3208) or UDP frames (EPGM) for use as zeromq reliable
> multicast transport. The library relies on openpgm package to
> implement the protocol itself.
> 
> Signed-off-by: Alexander Lukichev <alexander.lukichev@gmail.com>

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Patch

diff --git a/package/zeromq/Config.in b/package/zeromq/Config.in
index e1d3d52..b7dc8a6 100644
--- a/package/zeromq/Config.in
+++ b/package/zeromq/Config.in
@@ -23,3 +23,12 @@  config BR2_PACKAGE_ZEROMQ
 	  ØMQ is from iMatix and is LGPL open source.
 
 	  http://www.zeromq.org/
+
+config BR2_PACKAGE_ZEROMQ_PGM
+	bool "PGM/EPGM support"
+	depends on BR2_PACKAGE_ZEROMQ
+	select BR2_PACKAGE_OPENPGM
+	help
+	  Add support for Pragmatic General Multicast protocol (RFC 3208)
+	  implemented either over raw IP packets or UDP datagrams
+	  (encapsulated PGM). This requires OpenPGM library.
diff --git a/package/zeromq/zeromq.mk b/package/zeromq/zeromq.mk
index 284a168..2ee6cf3 100644
--- a/package/zeromq/zeromq.mk
+++ b/package/zeromq/zeromq.mk
@@ -11,4 +11,9 @@  ZEROMQ_DEPENDENCIES = util-linux
 ZEROMQ_LICENSE = LGPLv3+ with exceptions
 ZEROMQ_LICENSE_FILES = COPYING COPYING.LESSER
 
+ifeq ($(BR2_PACKAGE_ZEROMQ_PGM),y)
+	ZEROMQ_DEPENDENCIES += host-pkgconf openpgm
+	ZEROMQ_CONF_OPT = --with-system-pgm
+endif
+
 $(eval $(autotools-package))