summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Kleine-Budde <mkl@pengutronix.de>2009-12-02 12:52:20 +0100
committerMarc Kleine-Budde <mkl@pengutronix.de>2009-12-03 10:16:01 +0100
commitfec510f600d542ac5f62024f4100eb68f284ad2d (patch)
tree637583bbf5facad92ca3c24f000fefad86baf04c
parent2701a84e83181dafc9486e274a83c93cf547383f (diff)
downloadptxdist-fec510f600d542ac5f62024f4100eb68f284ad2d.tar.gz
ptxdist-fec510f600d542ac5f62024f4100eb68f284ad2d.tar.xz
[flex] new package
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
-rw-r--r--rules/flex.in29
-rw-r--r--rules/flex.make87
2 files changed, 116 insertions, 0 deletions
diff --git a/rules/flex.in b/rules/flex.in
new file mode 100644
index 000000000..e1fa0ad23
--- /dev/null
+++ b/rules/flex.in
@@ -0,0 +1,29 @@
+## SECTION=system_libraries
+
+config FLEX
+ tristate
+ prompt "flex"
+ help
+ A fast lexical analyzer generator
+
+ Flex is a tool for generating scanners: programs which
+ recognized lexical patterns in text. It reads the given
+ input files for a description of a scanner to generate. The
+ description is in the form of pairs of regular expressions
+ and C code, called rules. Flex generates as output a C
+ source file, lex.yy.c, which defines a routine yylex(). This
+ file is compiled and linked with the -lfl library to produce
+ an executable. When the executable is run, it analyzes its
+ input for occurrences of the regular expressions. Whenever
+ it finds one, it executes the corresponding C code.
+
+ The behaviour of Flex has undergone a major change since
+ version 2.5.4a. Flex scanners are now reentrant, and it is
+ now possible to have multiple scanners in the same program
+ with differing sets of defaults, and the scanners play nicer
+ with modern C and C++ compilers. The Flip side is that Flex
+ no longer conforms to the POSIX lex behaviour, and the
+ scanners require conforming implementations when flex is
+ used in ANSI C mode.
+
+ Homepage: http://flex.sf.net/
diff --git a/rules/flex.make b/rules/flex.make
new file mode 100644
index 000000000..1115a5140
--- /dev/null
+++ b/rules/flex.make
@@ -0,0 +1,87 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2009 by Marc Kleine-Budde <mkl@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_FLEX) += flex
+
+#
+# Paths and names
+#
+FLEX_VERSION := 2.5.35
+FLEX := flex-$(FLEX_VERSION)
+FLEX_SUFFIX := tar.bz2
+FLEX_URL := $(PTXCONF_SETUP_SFMIRROR)/flex/$(FLEX).$(FLEX_SUFFIX)
+FLEX_SOURCE := $(SRCDIR)/$(FLEX).$(FLEX_SUFFIX)
+FLEX_DIR := $(BUILDDIR)/$(FLEX)
+FLEX_LICENSE := unknown
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+$(FLEX_SOURCE):
+ @$(call targetinfo)
+ @$(call get, FLEX)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+FLEX_PATH := PATH=$(CROSS_PATH)
+FLEX_ENV := $(CROSS_ENV)
+
+#
+# autoconf
+#
+FLEX_AUTOCONF := $(CROSS_AUTOCONF_USR)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/flex.targetinstall:
+ @$(call targetinfo)
+
+ @$(call install_init, flex)
+ @$(call install_fixup, flex,PACKAGE,flex)
+ @$(call install_fixup, flex,PRIORITY,optional)
+ @$(call install_fixup, flex,VERSION,$(FLEX_VERSION))
+ @$(call install_fixup, flex,SECTION,base)
+ @$(call install_fixup, flex,AUTHOR,"Marc Kleine-Budde <mkl@pengutronix.de>")
+ @$(call install_fixup, flex,DEPENDS,)
+ @$(call install_fixup, flex,DESCRIPTION,missing)
+
+#
+# HACK:
+#
+# we need a ipkg, because some packages may depend on us, e.g.:
+# "at"
+#
+# because we don't provide any shared libraries,
+# we just put an existing dir into the package
+#
+ @$(call install_copy, flex, 0, 0, 0755, /usr/sbin)
+
+ @$(call install_finish, flex)
+
+ @$(call touch)
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+flex_clean:
+ rm -rf $(STATEDIR)/flex.*
+ rm -rf $(PKGDIR)/flex_*
+ rm -rf $(FLEX_DIR)
+
+# vim: syntax=make