From patchwork Mon Mar 18 14:56:57 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Dawson X-Patchwork-Id: 228670 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from hemlock.osuosl.org (hemlock.osuosl.org [140.211.166.133]) by ozlabs.org (Postfix) with ESMTP id 3FB602C008E for ; Tue, 19 Mar 2013 01:57:12 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 080C1A0144; Mon, 18 Mar 2013 14:57:11 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pP+PLc8Nil6w; Mon, 18 Mar 2013 14:57:06 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id 79068A00C0; Mon, 18 Mar 2013 14:57:06 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id F08F88F7A3 for ; Mon, 18 Mar 2013 14:57:11 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 75A2F8C837 for ; Mon, 18 Mar 2013 14:57:04 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gDtfJht+PnXE for ; Mon, 18 Mar 2013 14:57:03 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-we0-f179.google.com (mail-we0-f179.google.com [74.125.82.179]) by whitealder.osuosl.org (Postfix) with ESMTPS id 002208C7CC for ; Mon, 18 Mar 2013 14:57:02 +0000 (UTC) Received: by mail-we0-f179.google.com with SMTP id u3so1057800wey.38 for ; Mon, 18 Mar 2013 07:57:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:from:to:subject:date:message-id:x-mailer; bh=ZF9vEalTLui/u19DBKmI6X9Yfzufgt1ddjntTQI3/BQ=; b=AfrGTWm4zojY1tIvDCyEh6H+1C/o0c7LpUoPnHsJZx4RN2JqDzzBdecRePo2xVvpli 9vfelkJgOxfTivmEAR7rR89XoNS1qZq9cQJNenzBxgZvH9Ga7Ihf2HBZdsluaeSZFLPL sOBeyavMQcUMbKbSCgnwSzs5zGZ4bqRDI8zb48ihC28hCzuOrSpoSzcQiZrmMn2OnXvr EpMXmFbk+rn91h4Jjz8+EUcrS1klL5XjOCna/eCiAN87cjTcWxY4GC7Gz+sem1rr/DSd WYpx2M2Zw6ht8O2kq1A01nmuBWujHB0NWYFh8FrkhVi8u1AhB3FDG1bFBHVJcU208nmO I1Ng== X-Received: by 10.195.12.133 with SMTP id eq5mr25515459wjd.52.1363618620953; Mon, 18 Mar 2013 07:57:00 -0700 (PDT) Received: from localhost.localdomain (host86-167-129-159.range86-167.btcentralplus.com. [86.167.129.159]) by mx.google.com with ESMTPS id fg6sm15469901wib.10.2013.03.18.07.56.59 (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 18 Mar 2013 07:57:00 -0700 (PDT) From: spdawson@gmail.com To: buildroot@busybox.net Date: Mon, 18 Mar 2013 14:56:57 +0000 Message-Id: <1363618617-2969-1-git-send-email-spdawson@gmail.com> X-Mailer: git-send-email 1.7.10.4 Subject: [Buildroot] [PATCH] zeromq: add C++ bindings X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: buildroot-bounces@busybox.net From: Simon Dawson Now that zeromq has been bumped to version 3.2.2, we need to provide the C++ bindings using separate packages. Two C++ bindings are provided by this patch: * cppzmq is a very simple single-header binding * zmqpp is a high-level binding, implemented in C++ as a separate library When the new "C++ bindings" option for zeromq is selected, both of these C++ bindings are built and installed. Signed-off-by: Simon Dawson --- package/Config.in | 2 ++ package/cppzmq/Config.in | 2 ++ package/cppzmq/cppzmq.mk | 23 ++++++++++++++++++++++ package/zeromq/Config.in | 17 +++++++++++++--- package/zmqpp/Config.in | 2 ++ package/zmqpp/zmqpp.mk | 48 ++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 91 insertions(+), 3 deletions(-) create mode 100644 package/cppzmq/Config.in create mode 100644 package/cppzmq/cppzmq.mk create mode 100644 package/zmqpp/Config.in create mode 100644 package/zmqpp/zmqpp.mk diff --git a/package/Config.in b/package/Config.in index 9853b06..9519852 100644 --- a/package/Config.in +++ b/package/Config.in @@ -495,6 +495,7 @@ source "package/mediastreamer/Config.in" endmenu menu "Networking" +source "package/cppzmq/Config.in" source "package/glib-networking/Config.in" source "package/libcgi/Config.in" source "package/libcgicc/Config.in" @@ -535,6 +536,7 @@ source "package/ortp/Config.in" source "package/slirp/Config.in" source "package/usbredir/Config.in" source "package/zeromq/Config.in" +source "package/zmqpp/Config.in" endmenu menu "Other" diff --git a/package/cppzmq/Config.in b/package/cppzmq/Config.in new file mode 100644 index 0000000..6ec168e --- /dev/null +++ b/package/cppzmq/Config.in @@ -0,0 +1,2 @@ +config BR2_PACKAGE_CPPZMQ + bool diff --git a/package/cppzmq/cppzmq.mk b/package/cppzmq/cppzmq.mk new file mode 100644 index 0000000..b4540ca --- /dev/null +++ b/package/cppzmq/cppzmq.mk @@ -0,0 +1,23 @@ +############################################################# +# +# cppzmq +# +############################################################# + +CPPZMQ_VERSION = b232978 +CPPZMQ_SITE = git://github.com/zeromq/cppzmq.git +CPPZMQ_INSTALL_STAGING = YES +CPPZMQ_INSTALL_TARGET = NO +CPPZMQ_DEPENDENCIES = zeromq +CPPZMQ_LICENSE = MIT +CPPZMQ_LICENSE_FILES = zmq.hpp + +define CPPZMQ_INSTALL_STAGING_CMDS + $(INSTALL) -m 0644 -D $(@D)/zmq.hpp $(STAGING_DIR)/usr/include/zmq.hpp +endef + +define CPPZMQ_UNINSTALL_STAGING_CMDS + $(RM) $(STAGING_DIR)/usr/include/zmq.hpp +endef + +$(eval $(generic-package)) diff --git a/package/zeromq/Config.in b/package/zeromq/Config.in index b7dc8a6..db2384e 100644 --- a/package/zeromq/Config.in +++ b/package/zeromq/Config.in @@ -1,9 +1,8 @@ -comment "zeromq requires a toolchain with C++, LARGEFILE + WCHAR support" - depends on !(BR2_INSTALL_LIBSTDCPP && BR2_LARGEFILE && BR2_USE_WCHAR) +comment "zeromq requires a toolchain with LARGEFILE and WCHAR support" + depends on !(BR2_LARGEFILE && BR2_USE_WCHAR) config BR2_PACKAGE_ZEROMQ bool "zeromq" - depends on BR2_INSTALL_LIBSTDCPP depends on BR2_LARGEFILE # util-linux depends on BR2_USE_WCHAR # util-linux select BR2_PACKAGE_UTIL_LINUX @@ -32,3 +31,15 @@ config BR2_PACKAGE_ZEROMQ_PGM Add support for Pragmatic General Multicast protocol (RFC 3208) implemented either over raw IP packets or UDP datagrams (encapsulated PGM). This requires OpenPGM library. + +comment "zeromq C++ bindings require a toolchain with C++ support" + depends on BR2_PACKAGE_ZEROMQ && !BR2_INSTALL_LIBSTDCPP + +config BR2_PACKAGE_ZEROMQ_CPP + bool "C++ bindings" + depends on BR2_PACKAGE_ZEROMQ + depends on BR2_INSTALL_LIBSTDCPP + select BR2_PACKAGE_CPPZMQ + select BR2_PACKAGE_ZMQPP + help + C++ bindings. diff --git a/package/zmqpp/Config.in b/package/zmqpp/Config.in new file mode 100644 index 0000000..954cf29 --- /dev/null +++ b/package/zmqpp/Config.in @@ -0,0 +1,2 @@ +config BR2_PACKAGE_ZMQPP + bool diff --git a/package/zmqpp/zmqpp.mk b/package/zmqpp/zmqpp.mk new file mode 100644 index 0000000..639ab2f --- /dev/null +++ b/package/zmqpp/zmqpp.mk @@ -0,0 +1,48 @@ +############################################################# +# +# zmqpp +# +############################################################# + +ZMQPP_VERSION = 31220ca +ZMQPP_SITE = git://github.com/benjamg/zmqpp.git +ZMQPP_INSTALL_STAGING = YES +ZMQPP_DEPENDENCIES = zeromq +ZMQPP_LICENSE = MIT +ZMQPP_LICENSE_FILES = LICENSE + +ZMQPP_MAKE_OPT = $(if $(BR2_PACKAGE_ZMQPP_CLIENT),all) + +define ZMQPP_BUILD_CMDS + $(TARGET_MAKE_ENV) $(ZMQPP_MAKE_ENV) $(MAKE) $(ZMQPP_MAKE_OPT) -C $(@D) +endef + +define ZMQPP_INSTALL_TARGET_CMDS + $(INSTALL) -m 0755 -d $(TARGET_DIR)/usr/include/zmqpp + $(TARGET_MAKE_ENV) $(ZMQPP_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) \ + PREFIX=/usr install -C $(@D) +endef + +define ZMQPP_UNINSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(ZMQPP_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) \ + PREFIX=/usr uninstall -C $(@D) + $(RM) $(TARGET_DIR)/usr/include/zmqpp +endef + +define ZMQPP_INSTALL_STAGING_CMDS + $(INSTALL) -m 0755 -d $(STAGING_DIR)/usr/include/zmqpp + $(TARGET_MAKE_ENV) $(ZMQPP_MAKE_ENV) $(MAKE) DESTDIR=$(STAGING_DIR) \ + PREFIX=/usr install -C $(@D) +endef + +define ZMQPP_UNINSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(ZMQPP_MAKE_ENV) $(MAKE) DESTDIR=$(STAGING_DIR) \ + PREFIX=/usr uninstall -C $(@D) + $(RM) $(STAGING_DIR)/usr/include/zmqpp +endef + +define ZMQPP_CLEAN_CMDS + $(TARGET_MAKE_ENV) $(ZMQPP_MAKE_ENV) $(MAKE) clean -C $(@D) +endef + +$(eval $(generic-package))