summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuergen Beisert <jbe@pengutronix.de>2011-12-25 18:45:43 +0100
committerJuergen Beisert <jbe@pengutronix.de>2012-01-04 12:46:22 +0100
commitd317687e46231befb18b4ff405e032c093559f20 (patch)
treeb9e786fc2b1a38b31b9776c05bf450aac25246f5
parentf008eb8c56455f4675f478a256a626e5247ce81e (diff)
downloadptxdist-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.in20
-rw-r--r--rules/libpipeline.make72
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