linux: drop dependency on host-{bison, flex}
cover linux: drop dependency on host-{bison, flex}
Hello All!
host{bison,flex} are only needed to build the kconfig parser. The kconfig parser is not part of any host tool that would be used by any other package; instead, it is purely internal to the kernel, and are only used to generate the .config file.
As such, we don't care much what version of bison or flex are used to generate the parser; those comonly available in the distros are good enough for the task.
So, add bison and flex to the list of pre-requisites, check for them as part of the dependencies check, and finally drop the host variants from linux' dependencies.
This series implements the solution discussed in this thread, with suggestion by Thomas and Arnout (same thread, span three months):
http://lists.busybox.net/pipermail/buildroot/2018-May/221243.html http://lists.busybox.net/pipermail/buildroot/2018-July/226840.html http://lists.busybox.net/pipermail/buildroot/2018-August/226971.html
Eventually, when we update our own version of kconfig, we may decide to also drop the generated parser, or keep bundling them. If we go the former route, we'll have to revisit how we check for bison and flex, so it also works even in the face of an unconfigured tree. But that can be done then.
Note that this series does conflict with one I sent earlier:
https://patchwork.ozlabs.org/project/buildroot/list/?series=59249
Probaby we want this one to be applied first, and leave the other for later (linux-4.18 is not cwevenyet out yet, and probably won't be before we freeze for 2018.08 anyway).
Regards,
Yann E. MORIN.
The following changes since commit 81ea4a243b63d7bb1fec580910c553af4ae072c1
package/lttng-tools: bump version to 2.10.5 (2018-08-01 14:28:30 +0200)
are available in the git repository at:
git://git.buildroot.org/~ymorin/git/buildroot.git
for you to fetch changes up to 0c44ca5ddc27dfe13152a08b4bdd48ce3b8599dc
linux: drop dependency on host-{bison,flex} (2018-08-03 23:32:14 +0200)
----------------------------------------------------------------
Yann E. MORIN (3):
docs/manual: add flex+bison to pre-requisites support/dependencies: also check for flex+bison
linux: drop dependency on host-{bison,flex}
docs/manual/prerequisite.txt | 3 ++- linux/linux.mk | 2 +- support/dependencies/dependencies.sh | 6 +++++- 3 files changed, 8 insertions(+), 3 deletions(-)
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 1/3 docs/manual: add flex+bison to pre-requisites
--- docs/manual/prerequisite.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
docs/manual/prerequisite.txt +2 -1
@@ -24,7 +24,8 @@ between distributions). ** +binutils+ ** +build-essential+ (only for Debian based systems) ** +gcc+ (version 2.95 or any later) -** `g++` (version 2.95 or any later) +** `bison` +** `flex` ** +bash+ ** +patch+ ** +gzip+
Signature · 1 line
2.14.1
PATCH 1/3 docs/manual: add flex+bison to pre-requisites
Hi Yann,
Quoted 13 lines · Yann E. MORIN
Signed-off-by "Yann E. MORIN" <[email protected]>Cc Thomas Petazzoni <[email protected]>Cc Arnout Vandecappelle <[email protected]>Cc Peter Korsgaard <[email protected]>--- docs/manual/prerequisite.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)docs/manual/prerequisite.txt +0
-0
docs/manual/prerequisite.txt between distributions). · line 27
Quoted 4 lines
docs/manual/prerequisite.txt +0
-1@@ -24,7 +24,8 @@ between distributions). ** +binutils+ ** +build-essential+ (only for Debian based systems) ** +gcc+ (version 2.95 or any later) -** `g++` (version 2.95 or any later)
Is this removal intended?
BTW, is version 2.95 realistic? Is it actually possible to build a reasonable Buildroot config even with host gcc 3.x?
docs/manual/prerequisite.txt between distributions). · line 31
Quoted 5 lines
docs/manual/prerequisite.txt +2
-0+** `bison` +** `flex` ** +bash+ ** +patch+ ** +gzip+
baruch
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -PATCH 1/3 docs/manual: add flex+bison to pre-requisites
Baruch, All,
On 2018-08-05 07:25 +0300, Baruch Siach spake thusly:
Quoted 9 lines · Yann E. MORIN
Quoted 8 lines
Signed-off-by "Yann E. MORIN" <[email protected]>Cc Thomas Petazzoni <[email protected]>Cc Arnout Vandecappelle <[email protected]>Cc Peter Korsgaard <[email protected]>--- docs/manual/prerequisite.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
Quoted 11 lines
docs/manual/prerequisite.txt between distributions). · line 27
Quoted 9 lines
docs/manual/prerequisite.txt +0
-1@@ -24,7 +24,8 @@ between distributions). ** +binutils+ ** +build-essential+ (only for Debian based systems) ** +gcc+ (version 2.95 or any later) -** `g++` (version 2.95 or any later)Is this removal intended?
Nope, that was not intentional.
Quoted 2 lines
BTW, is version 2.95 realistic? Is it actually possible to build a reasonable Buildroot config even with host gcc 3.x?
Probably not, but that is a brand other topic...
Thanks! :-)
Regards,
Yann E. MORIN.
Quoted 12 lines
docs/manual/prerequisite.txt between distributions). · line 31
Quoted 5 lines
docs/manual/prerequisite.txt +2
-0+** `bison` +** `flex` ** +bash+ ** +patch+ ** +gzip+baruch
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems =}------------------------------------------------ooO--U--Ooo------------{= - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 1/3 docs/manual: add flex+bison to pre-requisites
In reply to Baruch SiachHello,
Quoted 2 lines · Baruch Siach
BTW, is version 2.95 realistic? Is it actually possible to build a reasonable Buildroot config even with host gcc 3.x?
Hollis Blanchard recently started an autobuilder on RHEL6.5, which uses host gcc 4.4, and sent some fixes for build issues encountered with host gcc 4.4.
So, since this is the oldest gcc version that we're testing, I would suggest that we document this version as the minimum gcc version.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com
PATCH 2/3 support/dependencies: also check for flex+bison
In reply to Yann E. MORIN--- support/dependencies/dependencies.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
support/dependencies/dependencies.sh +5 -1
@@ -161,7 +161,11 @@ fi # Check that a few mandatory programs are installed missing_progs="no" -for prog in patch perl tar wget cpio python unzip rsync bc ${DL_TOOLS} ; do +required_progs=" + patch perl tar wget cpio python unzip rsync bc bison flex + ${DL_TOOLS} +" +for prog in ${required_progs} ; do if ! which $prog > /dev/null ; then echo "You must install '$prog' on your build machine"; missing_progs="yes"
Signature · 1 line
2.14.1
PATCH 3/3 linux: drop dependency on host-{bison, flex}
In reply to Yann E. MORINNow that we expect those two tools to be installed n the host, just depend on them to generate the linux kconfig parser.
--- linux/linux.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
linux/linux.mk +1 -1
@@ -62,7 +62,7 @@ LINUX_PATCHES = $(call qstrip,$(BR2_LINUX_KERNEL_PATCH)) LINUX_PATCH = $(filter ftp://% http://% https://%,$(LINUX_PATCHES)) LINUX_INSTALL_IMAGES = YES -LINUX_DEPENDENCIES += host-bison host-flex host-kmod +LINUX_DEPENDENCIES = host-kmod # host tools needed for kernel compression ifeq ($(BR2_LINUX_KERNEL_LZ4),y)
Signature · 1 line
2.14.1