diff options
author | Marc Kleine-Budde <mkl@pengutronix.de> | 2009-12-02 12:52:20 +0100 |
---|---|---|
committer | Marc Kleine-Budde <mkl@pengutronix.de> | 2009-12-03 10:16:01 +0100 |
commit | fec510f600d542ac5f62024f4100eb68f284ad2d (patch) | |
tree | 637583bbf5facad92ca3c24f000fefad86baf04c | |
parent | 2701a84e83181dafc9486e274a83c93cf547383f (diff) | |
download | ptxdist-fec510f600d542ac5f62024f4100eb68f284ad2d.tar.gz ptxdist-fec510f600d542ac5f62024f4100eb68f284ad2d.tar.xz |
[flex] new package
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
-rw-r--r-- | rules/flex.in | 29 | ||||
-rw-r--r-- | rules/flex.make | 87 |
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 |