mirror of
https://git.yoctoproject.org/poky
synced 2026-04-25 06:32:12 +02:00
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 [YOCTO #13825] (From OE-Core rev: d4a0cbf132cf6a821e3efe7db3d9afd014cc9bc6) Signed-off-by: Mingli Yu <mingli.yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
46 lines
1.7 KiB
BlitzBasic
46 lines
1.7 KiB
BlitzBasic
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://dont-depend-on-help2man.patch.patch \
|
|
file://add-with-bisonlocaledir.patch \
|
|
file://0001-bison-fix-the-parallel-build.patch \
|
|
"
|
|
SRC_URI[sha256sum] = "4c17e99881978fa32c05933c5262457fa5b2b611668454f8dc2a695cd6b3720c"
|
|
|
|
# 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"
|