summaryrefslogtreecommitdiff
path: root/yocto-poky/meta/recipes-devtools/flex
diff options
context:
space:
mode:
Diffstat (limited to 'yocto-poky/meta/recipes-devtools/flex')
-rw-r--r--yocto-poky/meta/recipes-devtools/flex/files/do_not_create_pdf_doc.patch17
-rwxr-xr-xyocto-poky/meta/recipes-devtools/flex/files/run-ptest29
-rw-r--r--yocto-poky/meta/recipes-devtools/flex/flex.inc44
-rw-r--r--yocto-poky/meta/recipes-devtools/flex/flex_2.5.39.bb9
4 files changed, 99 insertions, 0 deletions
diff --git a/yocto-poky/meta/recipes-devtools/flex/files/do_not_create_pdf_doc.patch b/yocto-poky/meta/recipes-devtools/flex/files/do_not_create_pdf_doc.patch
new file mode 100644
index 000000000..032833ae7
--- /dev/null
+++ b/yocto-poky/meta/recipes-devtools/flex/files/do_not_create_pdf_doc.patch
@@ -0,0 +1,17 @@
+Upstream-Status: Inappropriate (embedded specific)
+
+Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
+
+Index: flex-2.5.37/doc/Makefile.am
+===================================================================
+--- flex-2.5.37.orig/doc/Makefile.am 2012-07-21 04:18:27.000000000 +0300
++++ flex-2.5.37/doc/Makefile.am 2013-07-30 17:57:09.834834531 +0300
+@@ -2,7 +2,7 @@
+
+ info_TEXINFOS = flex.texi
+ dist_man_MANS = flex.1
+-dist_doc_DATA= flex.pdf
++EXTRA_DIST= flex.pdf
+
+ CLEANFILES = \
+ flex.hks \
diff --git a/yocto-poky/meta/recipes-devtools/flex/files/run-ptest b/yocto-poky/meta/recipes-devtools/flex/files/run-ptest
new file mode 100755
index 000000000..bffba16f7
--- /dev/null
+++ b/yocto-poky/meta/recipes-devtools/flex/files/run-ptest
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+test1="test-alloc-extra test-array-nr test-array-r test-basic-nr test-basic-r test-extended test-quotes \
+test-bison-nr test-bison-yylloc test-bison-yylval test-c++-basic test-c-cpp-nr test-prefix-nr test-ccl \
+test-c-cpp-r test-c++-multiple-scanners test-mem-r test-mem-nr test-debug-nr test-linedir-r test-noansi-r \
+test-yyextra test-header-r test-noansi-nr test-debug-r TEMPLATE test-top test-header-nr test-prefix-r"
+test2="test-multiple-scanners-nr test-posixly-correct test-posix test-string-r test-string-nr"
+test3="test-pthread test-include-by-push test-include-by-buffer test-include-by-reentrant"
+test4="test-lineno-nr test-lineno-r test-lineno-trailing"
+test5="test-c++-yywrap test-rescan-r test-rescan-nr"
+test6="test-reject-nr test-reject-r"
+test7="test-reject-ser test-reject-ver"
+test8="test-multiple-scanners-r"
+
+output() {
+ if [ $? -eq 0 ]; \
+ then echo "PASS: $i"; \
+ else echo "FAIL: $i"; \
+ fi;
+}
+
+for i in $test1; do $i/$i < $i/test.input >/dev/null; output; done
+for i in $test2; do $i/$i >/dev/null; output; done
+for i in $test3; do cd $i; ./$i test-1.input >/dev/null; output; cd ..; done
+for i in $test4; do test `$i/$i < $i/test.input` -eq `$i/$i 1 < $i/test.input` >/dev/null; output; done
+for i in $test5; do $i/$i $i/test.input >/dev/null; output; done
+for i in $test6; do test-reject/$i < test-reject/test.input >/dev/null; output; done
+for i in $test7; do test-reject/$i test-reject/$i.tables < test-reject/test.input >/dev/null; output; done
+cd $test8; ./$test8 >/dev/null; i=$test8 output
diff --git a/yocto-poky/meta/recipes-devtools/flex/flex.inc b/yocto-poky/meta/recipes-devtools/flex/flex.inc
new file mode 100644
index 000000000..a4a26e278
--- /dev/null
+++ b/yocto-poky/meta/recipes-devtools/flex/flex.inc
@@ -0,0 +1,44 @@
+SUMMARY = "Flex (The Fast Lexical Analyzer)"
+DESCRIPTION = "Flex is a fast lexical analyser generator. Flex is a tool for generating programs that recognize \
+lexical patterns in text."
+HOMEPAGE = "http://sourceforge.net/projects/flex/"
+
+SECTION = "devel"
+LICENSE = "BSD"
+DEPENDS += "${@'bison-native flex-native' if '${PTEST_ENABLED}' == '1' else ''}"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/flex/flex-${PV}.tar.bz2 \
+ file://run-ptest \
+"
+
+inherit autotools gettext texinfo ptest
+
+
+M4 = "${bindir}/m4"
+M4_class-native = "${STAGING_BINDIR_NATIVE}/m4"
+
+EXTRA_OECONF += "ac_cv_path_M4=${M4}"
+EXTRA_OEMAKE += "m4=${STAGING_BINDIR_NATIVE}/m4"
+
+do_install_append_class-native() {
+ create_wrapper ${D}/${bindir}/flex M4=${M4}
+}
+
+do_install_append_class-nativesdk() {
+ create_wrapper ${D}/${bindir}/flex M4=${M4}
+}
+
+RDEPENDS_${PN} += "m4"
+
+do_compile_ptest() {
+ for i in `find ${S}/tests/ -type d |grep -Ev "concatenated-options|reject|table-opts" | awk -F/ '{print $NF}'`; \
+ do oe_runmake -C ${S}/tests/$i -f ${B}/tests/$i/Makefile top_builddir=${B} FLEX=flex $i; \
+ done
+ oe_runmake -C ${S}/tests/test-reject -f ${B}/tests/test-reject/Makefile top_builddir=${B} FLEX=flex test-reject-nr test-reject-r test-reject-ser test-reject-ver
+}
+
+do_install_ptest() {
+ for i in `find ${S}/tests/ -type d | awk -F/ '{print $NF}'`; \
+ do cp -r ${S}/tests/$i ${D}${PTEST_PATH}; \
+ done
+}
diff --git a/yocto-poky/meta/recipes-devtools/flex/flex_2.5.39.bb b/yocto-poky/meta/recipes-devtools/flex/flex_2.5.39.bb
new file mode 100644
index 000000000..7485743b2
--- /dev/null
+++ b/yocto-poky/meta/recipes-devtools/flex/flex_2.5.39.bb
@@ -0,0 +1,9 @@
+require flex.inc
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e4742cf92e89040b39486a6219b68067"
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI += "file://do_not_create_pdf_doc.patch"
+
+SRC_URI[md5sum] = "77d44c6bb8c0705e0017ab9a84a1502b"
+SRC_URI[sha256sum] = "add2b55f3bc38cb512b48fad7d72f43b11ef244487ff25fc00aabec1e32b617f"