Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 1 | SUMMARY = "GNU Project parser generator (yacc replacement)" |
| 2 | DESCRIPTION = "Bison is a general-purpose parser generator that converts an annotated context-free grammar into \ |
| 3 | an LALR(1) or GLR parser for that grammar. Bison is upward compatible with Yacc: all properly-written Yacc \ |
| 4 | grammars ought to work with Bison with no change. Anyone familiar with Yacc should be able to use Bison with \ |
| 5 | little trouble." |
| 6 | HOMEPAGE = "http://www.gnu.org/software/bison/" |
| 7 | LICENSE = "GPLv3" |
| 8 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" |
| 9 | SECTION = "devel" |
| 10 | DEPENDS = "bison-native flex-native" |
| 11 | |
| 12 | SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.xz \ |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 13 | file://add-with-bisonlocaledir.patch \ |
Andrew Geissler | 1e34c2d | 2020-05-29 16:02:59 -0500 | [diff] [blame] | 14 | file://0001-bison-fix-the-parallel-build.patch \ |
Andrew Geissler | 4ed12e1 | 2020-06-05 18:00:41 -0500 | [diff] [blame^] | 15 | " |
| 16 | SRC_URI[sha256sum] = "4a164b5cc971b896ce976bf4b624fab7279e0729cf983a5135df7e4df0970f6e" |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 17 | |
| 18 | # No point in hardcoding path to m4, just use PATH |
| 19 | EXTRA_OECONF += "M4=m4" |
| 20 | |
| 21 | # Reset any loadavg set via environment, it breaks parallel build |
| 22 | # | ../bison-3.5.2/lib/uniwidth/width.c:21:10: fatal error: uniwidth.h: No such file or directory |
| 23 | # | #include "uniwidth.h" |
| 24 | # | ^~~~~~~~~~~~ |
| 25 | EXTRA_OEMAKE_append = " -l" |
| 26 | |
| 27 | inherit autotools gettext texinfo |
| 28 | |
| 29 | # The automatic m4 path detection gets confused, so force the right value |
| 30 | acpaths = "-I ${S}/m4" |
| 31 | |
| 32 | do_compile_prepend() { |
| 33 | for i in mfcalc calc++ rpcalc; do mkdir -p ${B}/examples/$i; done |
| 34 | } |
| 35 | |
| 36 | do_install_append_class-native() { |
| 37 | create_wrapper ${D}/${bindir}/bison \ |
| 38 | BISON_PKGDATADIR=${STAGING_DATADIR_NATIVE}/bison |
| 39 | } |
| 40 | do_install_append_class-nativesdk() { |
| 41 | create_wrapper ${D}/${bindir}/bison \ |
| 42 | BISON_PKGDATADIR=${datadir}/bison |
| 43 | } |
| 44 | BBCLASSEXTEND = "native nativesdk" |