diff options
Diffstat (limited to 'meta/recipes-devtools/bison')
4 files changed, 79 insertions, 107 deletions
diff --git a/meta/recipes-devtools/bison/bison/0001-bison-fix-the-parallel-build.patch b/meta/recipes-devtools/bison/bison/0001-bison-fix-the-parallel-build.patch deleted file mode 100644 index c3be91a109..0000000000 --- a/meta/recipes-devtools/bison/bison/0001-bison-fix-the-parallel-build.patch +++ /dev/null @@ -1,63 +0,0 @@ -From e0dbcee6e25b3c0cb11a627bbfe3af45ef67ec30 Mon Sep 17 00:00:00 2001 -From: Mingli Yu <mingli.yu@windriver.com> -Date: Thu, 14 May 2020 15:23:16 +0800 -Subject: [PATCH] bison: fix the parallel build - -Explicitly make the BUILT_SOURCES which -are the generated headers such as stdio.h, -fcntl.h and etc to be the dependencies of -the gl_LIBOBJS such as libbison_a-sprintf.o, -libbison_a-printf.o and etc to guarantee the -BUILT_SOURCES is generated before begin to -compile EXTRA_lib_libbison_a_SOURCES such as -fprintf.c in parallel builid, otherwise there -may come below error: - | muscle-tab.c:(.text+0x77a): undefined reference to `rpl_sprintf' - -It does the same for src_bison_OBJECTS and -lib_libbison_a_OBJECTS to make sure BUILT_SOURCES -generated before begin to compile src_bison_SOURCES -which contains AnnotationList.c and etc. - -BTW, the MOSTLYCLEANFILES also contains the -generated header needs to be created early -in the build process, so add it also in to -avoid below error: - | ./lib/uniwidth/width.c:21:10: fatal error: uniwidth.h: No such file or directory - -Upstream-Status: Submitted [bison-patches@gnu.org maillist] - -Signed-off-by: Mingli Yu <mingli.yu@windriver.com> ---- - lib/gnulib.mk | 2 ++ - src/local.mk | 1 + - 2 files changed, 3 insertions(+) - -diff --git a/lib/gnulib.mk b/lib/gnulib.mk -index c21c656..27fb3dc 100644 ---- a/lib/gnulib.mk -+++ b/lib/gnulib.mk -@@ -120,6 +120,8 @@ lib_libbison_a_SOURCES = - lib_libbison_a_LIBADD = $(gl_LIBOBJS) - lib_libbison_a_DEPENDENCIES = $(gl_LIBOBJS) - EXTRA_lib_libbison_a_SOURCES = -+$(lib_libbison_a_OBJECTS): $(BUILT_SOURCES) $(MOSTLYCLEANFILES:%.h) -+$(gl_LIBOBJS): $(BUILT_SOURCES) $(MOSTLYCLEANFILES:%.h) - - lib_libbison_a_CPPFLAGS = $(AM_CPPFLAGS) -DDEFAULT_TEXT_DOMAIN=\"bison-gnulib\" - -diff --git a/src/local.mk b/src/local.mk -index 61dc573..b5b9079 100644 ---- a/src/local.mk -+++ b/src/local.mk -@@ -24,6 +24,7 @@ if RELOCATABLE_VIA_LD - src_bison_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)` - endif - -+$(src_bison_OBJECTS): $(BUILT_SOURCES) $(MOSTLYCLEANFILES:%.h) - src_bison_CFLAGS = $(AM_CFLAGS) $(WERROR_CFLAGS) - src_bison_SOURCES = \ - src/AnnotationList.c \ --- -2.17.1 - 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.6.4.bb b/meta/recipes-devtools/bison/bison_3.6.4.bb deleted file mode 100644 index 0c877c3c58..0000000000 --- a/meta/recipes-devtools/bison/bison_3.6.4.bb +++ /dev/null @@ -1,44 +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=d32239bcb673463ab874e80d47fae504" -SECTION = "devel" -DEPENDS = "bison-native flex-native" - -SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.xz \ - file://add-with-bisonlocaledir.patch \ - file://0001-bison-fix-the-parallel-build.patch \ - " -SRC_URI[sha256sum] = "8b13473b31ca7fcf65e5e8a74224368ffd5df19275602a9c9567ba393f18577d" - -# No point in hardcoding path to m4, just use PATH -EXTRA_OECONF += "M4=m4" - -# Reset any loadavg set via environment, it breaks parallel build -# | ../bison-3.5.2/lib/uniwidth/width.c:21:10: fatal error: uniwidth.h: No such file or directory -# | #include "uniwidth.h" -# | ^~~~~~~~~~~~ -EXTRA_OEMAKE_append = " -l" - -inherit autotools gettext texinfo - -# The automatic m4 path detection gets confused, so force the right value -acpaths = "-I ${S}/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" |