diff options
Diffstat (limited to 'meta/recipes-devtools/bison')
4 files changed, 79 insertions, 100 deletions
diff --git a/meta/recipes-devtools/bison/bison/0001-Use-mapped-file-name-for-symbols.patch b/meta/recipes-devtools/bison/bison/0001-Use-mapped-file-name-for-symbols.patch deleted file mode 100644 index 568ee4df19..0000000000 --- a/meta/recipes-devtools/bison/bison/0001-Use-mapped-file-name-for-symbols.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 2a3db4e3b8d33bad5577c2fcfe124ee7a202ef4f Mon Sep 17 00:00:00 2001 -From: Joshua Watt <JPEWhacker@gmail.com> -Date: Mon, 15 Feb 2021 20:39:57 -0600 -Subject: [PATCH] Use mapped file name for symbols - -Applies the file name mapping before exporting it as a symbol. This -allows the symbols to correctly respect the --file-prefix-map command -line option. - -Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> -Upstream-Status: Submitted [https://lists.gnu.org/archive/html/bison-patches/2021-02/msg00014.html] ---- - src/muscle-tab.c | 4 +++- - src/output.c | 8 ++++++-- - 2 files changed, 9 insertions(+), 3 deletions(-) - -diff --git a/src/muscle-tab.c b/src/muscle-tab.c -index b610d0b8..3e7657ca 100644 ---- a/src/muscle-tab.c -+++ b/src/muscle-tab.c -@@ -204,8 +204,10 @@ static void - muscle_syncline_grow (char const *key, location loc) - { - obstack_printf (&muscle_obstack, "]b4_syncline(%d, ", loc.start.line); -+ char *f = map_file_name (loc.start.file); - obstack_quote (&muscle_obstack, -- quotearg_style (c_quoting_style, loc.start.file)); -+ quotearg_style (c_quoting_style, f)); -+ free (f); - obstack_sgrow (&muscle_obstack, ")dnl\n["); - char const *extension = obstack_finish0 (&muscle_obstack); - muscle_grow (key, extension, "", ""); -diff --git a/src/output.c b/src/output.c -index 391d8e65..34dbc671 100644 ---- a/src/output.c -+++ b/src/output.c -@@ -531,7 +531,9 @@ user_actions_output (FILE *out) - { - fprintf (out, "b4_syncline(%d, ", - rules[r].action_loc.start.line); -- string_output (out, rules[r].action_loc.start.file); -+ char *f = map_file_name (rules[r].action_loc.start.file); -+ string_output (out, f); -+ free(f); - fprintf (out, ")dnl\n"); - } - fprintf (out, "[%*s%s]],\n[[", -@@ -629,8 +631,10 @@ prepare_symbol_definitions (void) - - if (p->code) - { -+ char *f = map_file_name (p->location.start.file); - SET_KEY2 (pname, "file"); -- MUSCLE_INSERT_C_STRING (key, p->location.start.file); -+ MUSCLE_INSERT_C_STRING (key, f); -+ free (f); - - SET_KEY2 (pname, "line"); - MUSCLE_INSERT_INT (key, p->location.start.line); --- -2.30.0 - diff --git a/meta/recipes-devtools/bison/bison/autoconf-2.73.patch b/meta/recipes-devtools/bison/bison/autoconf-2.73.patch new file mode 100644 index 0000000000..8360d3928f --- /dev/null +++ b/meta/recipes-devtools/bison/bison/autoconf-2.73.patch @@ -0,0 +1,24 @@ +The gnulib largefile macro needs updating to work with autoconf 2.73. Rather +than the full code: + +https://git.savannah.gnu.org/cgit/gnulib.git/commit/m4/largefile.m4?id=f91f633858cf132e50924224c50d6264a92caabb + +Just tweak the exiting code to work with 2.73. The next bison upgrade should +update to new gnulib + +Upstream-Status: Inappropriate +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> + +Index: findutils-4.9.0/gl/m4/largefile.m4 +=================================================================== +--- findutils-4.9.0.orig/m4/largefile.m4 ++++ findutils-4.9.0/m4/largefile.m4 +@@ -26,7 +26,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE], + # with _TIME_BITS. Also, work around a problem in autoconf <= 2.69: + # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5, + # or configures them incorrectly in some cases. +-m4_version_prereq([2.70], [], [ ++m4_version_prereq([2.73], [], [ + + # _AC_SYS_LARGEFILE_TEST_INCLUDES + # ------------------------------- diff --git a/meta/recipes-devtools/bison/bison_3.7.6.bb b/meta/recipes-devtools/bison/bison_3.7.6.bb deleted file mode 100644 index a7f01c3299..0000000000 --- a/meta/recipes-devtools/bison/bison_3.7.6.bb +++ /dev/null @@ -1,38 +0,0 @@ -SUMMARY = "GNU Project parser generator (yacc replacement)" -DESCRIPTION = "Bison is a general-purpose parser generator that converts an annotated context-free grammar into \ -an LALR(1) or GLR parser for that grammar. Bison is upward compatible with Yacc: all properly-written Yacc \ -grammars ought to work with Bison with no change. Anyone familiar with Yacc should be able to use Bison with \ -little trouble." -HOMEPAGE = "http://www.gnu.org/software/bison/" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" -SECTION = "devel" -DEPENDS = "bison-native flex-native" - -SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.xz \ - file://add-with-bisonlocaledir.patch \ - file://0001-Use-mapped-file-name-for-symbols.patch \ - " -SRC_URI[sha256sum] = "67d68ce1e22192050525643fc0a7a22297576682bef6a5c51446903f5aeef3cf" - -# No point in hardcoding path to m4, just use PATH -EXTRA_OECONF += "M4=m4" - -inherit autotools gettext texinfo - -# The automatic m4 path detection gets confused, so force the right value -acpaths = "-I ./m4" - -do_compile_prepend() { - for i in mfcalc calc++ rpcalc; do mkdir -p ${B}/examples/$i; done -} - -do_install_append_class-native() { - create_wrapper ${D}/${bindir}/bison \ - BISON_PKGDATADIR=${STAGING_DATADIR_NATIVE}/bison -} -do_install_append_class-nativesdk() { - create_wrapper ${D}/${bindir}/bison \ - BISON_PKGDATADIR=${datadir}/bison -} -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/bison/bison_3.8.2.bb b/meta/recipes-devtools/bison/bison_3.8.2.bb new file mode 100644 index 0000000000..da138e3587 --- /dev/null +++ b/meta/recipes-devtools/bison/bison_3.8.2.bb @@ -0,0 +1,55 @@ +SUMMARY = "GNU Project parser generator (yacc replacement)" +DESCRIPTION = "Bison is a general-purpose parser generator that converts an annotated context-free grammar into \ +an LALR(1) or GLR parser for that grammar. Bison is upward compatible with Yacc: all properly-written Yacc \ +grammars ought to work with Bison with no change. Anyone familiar with Yacc should be able to use Bison with \ +little trouble." +HOMEPAGE = "http://www.gnu.org/software/bison/" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" +SECTION = "devel" +DEPENDS = "bison-native flex-native" + +SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.xz \ + file://autoconf-2.73.patch \ + file://add-with-bisonlocaledir.patch \ + " +SRC_URI[sha256sum] = "9bba0214ccf7f1079c5d59210045227bcf619519840ebfa80cd3849cff5a5bf2" + +inherit autotools gettext texinfo + +# No point in hardcoding path to m4, just use PATH +CACHED_CONFIGUREVARS = "ac_cv_path_M4=m4" + +PACKAGECONFIG ??= "readline ${@ 'textstyle' if d.getVar('USE_NLS') == 'yes' else ''}" +PACKAGECONFIG:class-native ??= "" + +# Make readline and textstyle optional. There are recipie for these, but leave them +# disabled for the native recipe. This prevents host contamination of the native tool. +PACKAGECONFIG[readline] = "--with-libreadline-prefix,--without-libreadline-prefix,readline" +PACKAGECONFIG[textstyle] = "--with-libtextstyle-prefix,--without-libtextstyle-prefix,gettext" + +# Include the cached configure variables, configure is really good at finding +# libreadline, even if we don't want it. +CACHED_CONFIGUREVARS += "${@bb.utils.contains('PACKAGECONFIG', 'readline', '', ' \ + ac_cv_header_readline_history_h=no \ + ac_cv_header_readline_readline_h=no \ + gl_cv_lib_readline=no', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'textstyle', '', ' \ + ac_cv_libtextstyle=no', d)}" + +# The automatic m4 path detection gets confused, so force the right value +acpaths = "-I ./m4" + +do_compile:prepend() { + for i in mfcalc calc++ rpcalc; do mkdir -p ${B}/examples/$i; done +} + +do_install:append:class-native() { + create_wrapper ${D}/${bindir}/bison \ + BISON_PKGDATADIR=${STAGING_DATADIR_NATIVE}/bison +} +do_install:append:class-nativesdk() { + create_wrapper ${D}/${bindir}/bison \ + BISON_PKGDATADIR=${datadir}/bison +} +BBCLASSEXTEND = "native nativesdk" |