All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/3] linux: drop dependency on host-{bison, flex}
@ 2018-08-03 22:06 Yann E. MORIN
  2018-08-03 22:06 ` [Buildroot] [PATCH 1/3] docs/manual: add flex+bison to pre-requisites Yann E. MORIN
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Yann E. MORIN @ 2018-08-03 22:06 UTC (permalink / raw)
  To: buildroot

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(-)

-- 
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 1/3] docs/manual: add flex+bison to pre-requisites
  2018-08-03 22:06 [Buildroot] [PATCH 0/3] linux: drop dependency on host-{bison, flex} Yann E. MORIN
@ 2018-08-03 22:06 ` Yann E. MORIN
  2018-08-05  4:25   ` Baruch Siach
  2018-08-03 22:06 ` [Buildroot] [PATCH 2/3] support/dependencies: also check for flex+bison Yann E. MORIN
  2018-08-03 22:06 ` [Buildroot] [PATCH 3/3] linux: drop dependency on host-{bison, flex} Yann E. MORIN
  2 siblings, 1 reply; 7+ messages in thread
From: Yann E. MORIN @ 2018-08-03 22:06 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Peter Korsgaard <peter@korsgaard.com>
---
 docs/manual/prerequisite.txt | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/docs/manual/prerequisite.txt b/docs/manual/prerequisite.txt
index 110fab41fd..0867e4d619 100644
--- a/docs/manual/prerequisite.txt
+++ b/docs/manual/prerequisite.txt
@@ -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+
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 2/3] support/dependencies: also check for flex+bison
  2018-08-03 22:06 [Buildroot] [PATCH 0/3] linux: drop dependency on host-{bison, flex} Yann E. MORIN
  2018-08-03 22:06 ` [Buildroot] [PATCH 1/3] docs/manual: add flex+bison to pre-requisites Yann E. MORIN
@ 2018-08-03 22:06 ` Yann E. MORIN
  2018-08-03 22:06 ` [Buildroot] [PATCH 3/3] linux: drop dependency on host-{bison, flex} Yann E. MORIN
  2 siblings, 0 replies; 7+ messages in thread
From: Yann E. MORIN @ 2018-08-03 22:06 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Peter Korsgaard <peter@korsgaard.com>
---
 support/dependencies/dependencies.sh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh
index 58c34d880f..09d0450688 100755
--- a/support/dependencies/dependencies.sh
+++ b/support/dependencies/dependencies.sh
@@ -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"
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 3/3] linux: drop dependency on host-{bison, flex}
  2018-08-03 22:06 [Buildroot] [PATCH 0/3] linux: drop dependency on host-{bison, flex} Yann E. MORIN
  2018-08-03 22:06 ` [Buildroot] [PATCH 1/3] docs/manual: add flex+bison to pre-requisites Yann E. MORIN
  2018-08-03 22:06 ` [Buildroot] [PATCH 2/3] support/dependencies: also check for flex+bison Yann E. MORIN
@ 2018-08-03 22:06 ` Yann E. MORIN
  2 siblings, 0 replies; 7+ messages in thread
From: Yann E. MORIN @ 2018-08-03 22:06 UTC (permalink / raw)
  To: buildroot

Now that we expect those two tools to be installed n the host, just
depend on them to generate the linux kconfig parser.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Peter Korsgaard <peter@korsgaard.com>
---
 linux/linux.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/linux/linux.mk b/linux/linux.mk
index 7527b11673..7f624e6cb7 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -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)
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 1/3] docs/manual: add flex+bison to pre-requisites
  2018-08-03 22:06 ` [Buildroot] [PATCH 1/3] docs/manual: add flex+bison to pre-requisites Yann E. MORIN
@ 2018-08-05  4:25   ` Baruch Siach
  2018-08-05  6:54     ` Yann E. MORIN
  2018-08-05  9:58     ` Thomas Petazzoni
  0 siblings, 2 replies; 7+ messages in thread
From: Baruch Siach @ 2018-08-05  4:25 UTC (permalink / raw)
  To: buildroot

Hi Yann,

On Sat, Aug 04, 2018 at 12:06:18AM +0200, Yann E. MORIN wrote:
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Cc: Arnout Vandecappelle <arnout@mind.be>
> Cc: Peter Korsgaard <peter@korsgaard.com>
> ---
>  docs/manual/prerequisite.txt | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/docs/manual/prerequisite.txt b/docs/manual/prerequisite.txt
> index 110fab41fd..0867e4d619 100644
> --- a/docs/manual/prerequisite.txt
> +++ b/docs/manual/prerequisite.txt
> @@ -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?

> +** `bison`
> +** `flex`
>  ** +bash+
>  ** +patch+
>  ** +gzip+

baruch

-- 
     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 -

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 1/3] docs/manual: add flex+bison to pre-requisites
  2018-08-05  4:25   ` Baruch Siach
@ 2018-08-05  6:54     ` Yann E. MORIN
  2018-08-05  9:58     ` Thomas Petazzoni
  1 sibling, 0 replies; 7+ messages in thread
From: Yann E. MORIN @ 2018-08-05  6:54 UTC (permalink / raw)
  To: buildroot

Baruch, All,

On 2018-08-05 07:25 +0300, Baruch Siach spake thusly:
> On Sat, Aug 04, 2018 at 12:06:18AM +0200, Yann E. MORIN wrote:
> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> > Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> > Cc: Arnout Vandecappelle <arnout@mind.be>
> > Cc: Peter Korsgaard <peter@korsgaard.com>
> > ---
> >  docs/manual/prerequisite.txt | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/docs/manual/prerequisite.txt b/docs/manual/prerequisite.txt
> > index 110fab41fd..0867e4d619 100644
> > --- a/docs/manual/prerequisite.txt
> > +++ b/docs/manual/prerequisite.txt
> > @@ -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.

> 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.

> > +** `bison`
> > +** `flex`
> >  ** +bash+
> >  ** +patch+
> >  ** +gzip+
> 
> baruch
> 
> -- 
>      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 -

-- 
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 1/3] docs/manual: add flex+bison to pre-requisites
  2018-08-05  4:25   ` Baruch Siach
  2018-08-05  6:54     ` Yann E. MORIN
@ 2018-08-05  9:58     ` Thomas Petazzoni
  1 sibling, 0 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2018-08-05  9:58 UTC (permalink / raw)
  To: buildroot

Hello,

On Sun, 5 Aug 2018 07:25:52 +0300, Baruch Siach wrote:

> 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
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-08-05  9:58 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-03 22:06 [Buildroot] [PATCH 0/3] linux: drop dependency on host-{bison, flex} Yann E. MORIN
2018-08-03 22:06 ` [Buildroot] [PATCH 1/3] docs/manual: add flex+bison to pre-requisites Yann E. MORIN
2018-08-05  4:25   ` Baruch Siach
2018-08-05  6:54     ` Yann E. MORIN
2018-08-05  9:58     ` Thomas Petazzoni
2018-08-03 22:06 ` [Buildroot] [PATCH 2/3] support/dependencies: also check for flex+bison Yann E. MORIN
2018-08-03 22:06 ` [Buildroot] [PATCH 3/3] linux: drop dependency on host-{bison, flex} Yann E. MORIN

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.