byacc: Add HOMEPAGE info into recipe file.

copy byacc from meta to meta-oe.

Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Huang Qiyu 2017-09-21 14:41:03 +08:00 committed by Martin Jansa
parent 6aa6ba3702
commit 01c7f3e75d
4 changed files with 221 additions and 0 deletions

View File

@ -0,0 +1,23 @@
SUMMARY = "Berkeley LALR Yacc parser generator"
HOMEPAGE = "http://invisible-island.net/byacc/"
DESCRIPTION = "A parser generator utility that reads a grammar specification from a file and generates an LR(1) \
parser for it. The parsers consist of a set of LALR(1) parsing tables and a driver routine written in the C \
programming language."
SECTION = "devel"
LICENSE = "PD"
SRC_URI = "ftp://invisible-island.net/byacc/byacc-${PV}.tgz \
file://byacc-open.patch \
file://0001-byacc-do-not-reorder-CC-and-CFLAGS.patch"
EXTRA_OECONF += "--program-transform-name='s,^,b,'"
BBCLASSEXTEND = "native"
inherit autotools
do_configure() {
install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
oe_runconf
}

View File

@ -0,0 +1,161 @@
Subject: byacc: do not reorder $CC and $CFLAGS
byacc tries to process $CC and decide which part should belong to CC and which
part should below to CFLAGS and then do reordering. It doesn't make much sense
for OE. And it doesn't do its work correctly. Some options are dropped.
Delete all these stuff so that we could have all options we need.
Upstream-Status: Inappropriate [OE Specific]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
aclocal.m4 | 1 -
configure | 119 -------------------------------------------------------------
2 files changed, 120 deletions(-)
diff --git a/aclocal.m4 b/aclocal.m4
index 917a848..62ef241 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1021,7 +1021,6 @@ CF_GCC_VERSION
CF_ACVERSION_CHECK(2.52,
[AC_PROG_CC_STDC],
[CF_ANSI_CC_REQD])
-CF_CC_ENV_FLAGS
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_PROG_GROFF version: 2 updated: 2015/07/04 11:16:27
diff --git a/configure b/configure
index 9707e50..4f0497c 100755
--- a/configure
+++ b/configure
@@ -1946,125 +1946,6 @@ esac
# This should have been defined by AC_PROG_CC
: ${CC:=cc}
-echo "$as_me:1949: checking \$CC variable" >&5
-echo $ECHO_N "checking \$CC variable... $ECHO_C" >&6
-case "$CC" in
-(*[\ \ ]-*)
- echo "$as_me:1953: result: broken" >&5
-echo "${ECHO_T}broken" >&6
- { echo "$as_me:1955: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&5
-echo "$as_me: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&2;}
- # humor him...
- cf_flags=`echo "$CC" | sed -e 's/^.*[ ]\(-[^ ]\)/\1/'`
- CC=`echo "$CC " | sed -e 's/[ ]-[^ ].*$//' -e 's/[ ]*$//'`
- for cf_arg in $cf_flags
- do
- case "x$cf_arg" in
- (x-[IUDfgOW]*)
-
-cf_fix_cppflags=no
-cf_new_cflags=
-cf_new_cppflags=
-cf_new_extra_cppflags=
-
-for cf_add_cflags in $cf_flags
-do
-case $cf_fix_cppflags in
-(no)
- case $cf_add_cflags in
- (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C)
- case $cf_add_cflags in
- (-D*)
- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
-
- test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
- && test -z "${cf_tst_cflags}" \
- && cf_fix_cppflags=yes
-
- if test $cf_fix_cppflags = yes ; then
- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
- continue
- elif test "${cf_tst_cflags}" = "\"'" ; then
- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
- continue
- fi
- ;;
- esac
- case "$CPPFLAGS" in
- (*$cf_add_cflags)
- ;;
- (*)
- case $cf_add_cflags in
- (-D*)
- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
-
-CPPFLAGS=`echo "$CPPFLAGS" | \
- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
-
- ;;
- esac
- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
- ;;
- esac
- ;;
- (*)
- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
- ;;
- esac
- ;;
-(yes)
- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
-
- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
-
- test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
- && test -z "${cf_tst_cflags}" \
- && cf_fix_cppflags=no
- ;;
-esac
-done
-
-if test -n "$cf_new_cflags" ; then
-
- CFLAGS="$CFLAGS $cf_new_cflags"
-fi
-
-if test -n "$cf_new_cppflags" ; then
-
- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
-fi
-
-if test -n "$cf_new_extra_cppflags" ; then
-
- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
-fi
-
- ;;
- (*)
- CC="$CC $cf_arg"
- ;;
- esac
- done
- test -n "$verbose" && echo " resulting CC: '$CC'" 1>&6
-
-echo "${as_me:-configure}:2051: testing resulting CC: '$CC' ..." 1>&5
-
- test -n "$verbose" && echo " resulting CFLAGS: '$CFLAGS'" 1>&6
-
-echo "${as_me:-configure}:2055: testing resulting CFLAGS: '$CFLAGS' ..." 1>&5
-
- test -n "$verbose" && echo " resulting CPPFLAGS: '$CPPFLAGS'" 1>&6
-
-echo "${as_me:-configure}:2059: testing resulting CPPFLAGS: '$CPPFLAGS' ..." 1>&5
-
- ;;
-(*)
- echo "$as_me:2063: result: ok" >&5
-echo "${ECHO_T}ok" >&6
- ;;
-esac
-
echo "$as_me:2068: checking whether ${MAKE-make} sets \${MAKE}" >&5
echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
--
2.8.3

View File

@ -0,0 +1,25 @@
Ubuntu defaults to passing _FORTIFY_SOURCE=2 which breaks byacc as it doesn't
pass enough arguments to open():
inlined from 'open_tmpfile' at byacc-20150711/main.c:588:5:
/usr/include/x86_64-linux-gnu/bits/fcntl2.h:50:24: error: call to '__open_missing_mode' declared with attribute error:
open with O_CREAT in second argument needs 3 arguments
Add a mode of 0666 to fix this.
Upstream-Status: Pending
Signed-off-by: Ross Burton <ross.burton@intel.com>
diff --git a/main.c b/main.c
index 620ce3f..82071a4 100644
--- a/main.c
+++ b/main.c
@@ -526,7 +526,7 @@ my_mkstemp(char *temp)
}
if ((name = tempnam(dname, fname)) != 0)
{
- fd = open(name, O_CREAT | O_EXCL | O_RDWR);
+ fd = open(name, O_CREAT | O_EXCL | O_RDWR, 0666);
strcpy(temp, name);
}
else

View File

@ -0,0 +1,12 @@
# Sigh. This is one of those places where everyone licenses it differently. Someone
# even apply UCB to it (Free/Net/OpenBSD). The maintainer states that:
# "I've found no reliable source which states that byacc must bear a UCB copyright."
# Setting to PD as this is what the upstream has it as.
LICENSE = "PD"
LIC_FILES_CHKSUM = "file://package/debian/copyright;md5=9176bfb16dab43ebcb8e50d9ee9550b6"
require byacc.inc
SRC_URI[md5sum] = "4bb274bbd7b648d4251c2b9ca36ed0c9"
SRC_URI[sha256sum] = "90b768d177f91204e6e7cef226ae1dc7cac831b625774cebd3e233a917754f91"