From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from gallifrey.ext.pengutronix.de ([2001:6f8:1178:4:5054:ff:fe8d:eefb] helo=localhost) by metis.ext.pengutronix.de with esmtp (Exim 4.72) (envelope-from ) id 1ResLH-0003et-Tf for ptxdist@pengutronix.de; Sun, 25 Dec 2011 18:58:40 +0100 From: Juergen Beisert Date: Sun, 25 Dec 2011 18:55:41 +0100 MIME-Version: 1.0 Content-Disposition: inline Message-Id: <201112251855.41806.jbe@pengutronix.de> Subject: [ptxdist] [PATCH] Add 'libpipeline' Reply-To: ptxdist@pengutronix.de List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: ptxdist-bounces@pengutronix.de Errors-To: ptxdist-bounces@pengutronix.de To: ptxdist@pengutronix.de >From its README: libpipeline is a C library for setting up and running pipelines of processes, without needing to involve shell command-line parsing which is often error-prone and insecure. This alleviates programmers of the need to laboriously construct pipelines using lower-level primitives such as fork and execve. Signed-off-by: Juergen Beisert diff --git a/rules/libpipeline.in b/rules/libpipeline.in new file mode 100644 index 0000000..03abcdb --- /dev/null +++ b/rules/libpipeline.in @@ -0,0 +1,20 @@ +## SECTION=system_libraries + +menuconfig LIBPIPELINE + tristate + prompt "libpipeline " + help + libpipeline is a C library for setting up and running pipelines of + processes, without needing to involve shell command-line parsing which + is often error-prone and insecure. This alleviates programmers of the + need to laboriously construct pipelines using lower-level primitives + such as fork and execve. + +if LIBPIPELINE +config LIBPIPELINE_SOCKETPAIR + bool + prompt "Use socketpair" + help + Use socketpair(2) as fast replacement for pipe(2) + +endif diff --git a/rules/libpipeline.make b/rules/libpipeline.make new file mode 100644 index 0000000..4228de9 --- /dev/null +++ b/rules/libpipeline.make @@ -0,0 +1,75 @@ +# -*-makefile-*- +# +# Copyright (C) 2011 by Juergen Beisert +# +# See CREDITS for details about who has contributed to this project. +# +# For further information about the PTXdist project and license conditions +# see the README file. +# + +# +# We provide this package +# +PACKAGES-$(PTXCONF_LIBPIPELINE) += libpipeline + +# +# Paths and names +# +LIBPIPELINE_VERSION := 1.2.0 +LIBPIPELINE_MD5 := dd3a987a0d2b594716baee2f73d61ae3 +LIBPIPELINE := libpipeline-$(LIBPIPELINE_VERSION) +LIBPIPELINE_SUFFIX := tar.gz +LIBPIPELINE_URL := http://download.savannah.gnu.org/releases/libpipeline/$(LIBPIPELINE).$(LIBPIPELINE_SUFFIX) +LIBPIPELINE_SOURCE := $(SRCDIR)/$(LIBPIPELINE).$(LIBPIPELINE_SUFFIX) +LIBPIPELINE_DIR := $(BUILDDIR)/$(LIBPIPELINE) +LIBPIPELINE_LICENSE := GPLv3 + +# ---------------------------------------------------------------------------- +# Prepare +# ---------------------------------------------------------------------------- + +# +# autoconf +# +LIBPIPELINE_CONF_ENV := $(CROSS_ENV) +LIBPIPELINE_CONF_TOOL := autoconf +LIBPIPELINE_CONF_OPT := $(CROSS_AUTOCONF_USR) \ + --enable-silent-rules \ + --disable-dependency-tracking \ + --disable-static \ + --enable-shared \ + --enable-fast-install \ + --enable-threads=posix \ + --disable-rpath + +ifdef PTXCONF_LIBPIPELINE_SOCKETPAIR +LIBPIPELINE_CONF_OPT += --enable-socketpair-pipe +# we know it works on our system +# (but 'configure' cannot check it due to cross compiling) +LIBPIPELINE_CONF_ENV += pipeline_cv_socketpair_pipe=yes \ + pipeline_cv_socketpair_mode=yes +else +LIBPIPELINE_CONF_OPT += --disable-socketpair-pipe +endif + +# ---------------------------------------------------------------------------- +# Target-Install +# ---------------------------------------------------------------------------- + +$(STATEDIR)/libpipeline.targetinstall: + @$(call targetinfo) + + @$(call install_init, libpipeline) + @$(call install_fixup, libpipeline,PRIORITY,optional) + @$(call install_fixup, libpipeline,SECTION,base) + @$(call install_fixup, libpipeline,AUTHOR,"Juergen Beisert ") + @$(call install_fixup, libpipeline,DESCRIPTION,"pipeline manipulation library") + + @$(call install_lib, libpipeline, 0, 0, 0644, libpipeline) + + @$(call install_finish, libpipeline) + + @$(call touch) + +# vim: syntax=make -- Pengutronix e.K. | Juergen Beisert | Linux Solutions for Science and Industry | http://www.pengutronix.de/ | -- ptxdist mailing list ptxdist@pengutronix.de