diff options
author | Juergen Beisert <jbe@pengutronix.de> | 2011-12-25 18:45:43 +0100 |
---|---|---|
committer | Juergen Beisert <jbe@pengutronix.de> | 2012-01-04 12:46:22 +0100 |
commit | d317687e46231befb18b4ff405e032c093559f20 (patch) | |
tree | b9e786fc2b1a38b31b9776c05bf450aac25246f5 | |
parent | f008eb8c56455f4675f478a256a626e5247ce81e (diff) | |
download | ptxdist-d317687e46231befb18b4ff405e032c093559f20.tar.gz ptxdist-d317687e46231befb18b4ff405e032c093559f20.tar.xz |
Add 'libpipeline'
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 <jbe@pengutronix.de>
-rw-r--r-- | rules/libpipeline.in | 20 | ||||
-rw-r--r-- | rules/libpipeline.make | 72 |
2 files changed, 92 insertions, 0 deletions
diff --git a/rules/libpipeline.in b/rules/libpipeline.in new file mode 100644 index 000000000..03abcdbaf --- /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 000000000..1048f7032 --- /dev/null +++ b/rules/libpipeline.make @@ -0,0 +1,72 @@ +# -*-makefile-*- +# +# Copyright (C) 2011 by Juergen Beisert <jbe@pengutronix.de> +# +# 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 +# we know the socket pair mode works on our systems +# (but 'configure' cannot check it due to cross compiling) +LIBPIPELINE_CONF_OPT := \ + $(CROSS_AUTOCONF_USR) \ + --enable-option-checking \ + --enable-silent-rules \ + --enable-dependency-tracking \ + --disable-static \ + --enable-shared \ + --enable-fast-install \ + --enable-threads=posix \ + --disable-rpath \ + --$(call ptx/endis,PTXCONF_LIBPIPELINE_SOCKETPAIR)-socketpair-pipe \ + pipeline_cv_socketpair_pipe=yes \ + pipeline_cv_socketpair_mode=yes + +# ---------------------------------------------------------------------------- +# 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 <jbe@pengutronix.de>") + @$(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 |