* [Buildroot] [PATCH 0/3] core+gcc: align configure commands (branch yem/quickies-for-master)
@ 2015-11-22 14:39 Yann E. MORIN
2015-11-22 14:39 ` [Buildroot] [PATCH 1/3] core/pkg-autotools: align host configure commands to target one Yann E. MORIN
` (2 more replies)
0 siblings, 3 replies; 18+ messages in thread
From: Yann E. MORIN @ 2015-11-22 14:39 UTC (permalink / raw)
To: buildroot
Hello All!
This series is a cleanup of the configure commands, both in the common
autotools infra and in the gcc-final package:
- the host variant of the generic configure command is not indented
the same way as the target variant; this is fixed.
- the gcc-final package has to override the default configure command,
but the reasons for it were not explained in the code, and the
corresponding commit is terse on the explanations; a comment is
added.
- the gcc-final custom configure command has diverged quite a bit from
the generic one; update it.
Regards,
Yann E. MORIN.
The following changes since commit c9d9bcb4e13651faf1898e9dcfa6d7af707a092b:
package/zmqpp: add patch to fix build issue (2015-11-22 14:26:18 +0100)
are available in the git repository at:
git://git.busybox.net/~ymorin/git/buildroot yem/quickies-for-master
for you to fetch changes up to 4d9f7a6896c496372a4f415987e60eeeac79225b:
package/gcc: align gcc-final configure-cmds to the generic ones (2015-11-22 15:34:53 +0100)
----------------------------------------------------------------
Yann E. MORIN (3):
core/pkg-autotools: align host configure commands to target one
package/gcc: comment on why we override the generic configure commands
package/gcc: align gcc-final configure-cmds to the generic ones
package/gcc/gcc-final/gcc-final.mk | 34 +++++++++++++++++++++++++++++-----
package/pkg-autotools.mk | 12 ++++++------
2 files changed, 35 insertions(+), 11 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] 18+ messages in thread* [Buildroot] [PATCH 1/3] core/pkg-autotools: align host configure commands to target one 2015-11-22 14:39 [Buildroot] [PATCH 0/3] core+gcc: align configure commands (branch yem/quickies-for-master) Yann E. MORIN @ 2015-11-22 14:39 ` Yann E. MORIN 2015-11-22 20:46 ` Arnout Vandecappelle 2015-11-23 17:38 ` Thomas Petazzoni 2015-11-22 14:39 ` [Buildroot] [PATCH 2/3] package/gcc: comment on why we override the generic configure commands Yann E. MORIN 2015-11-22 14:39 ` [Buildroot] [PATCH 3/3] package/gcc: align gcc-final configure-cmds to the generic ones Yann E. MORIN 2 siblings, 2 replies; 18+ messages in thread From: Yann E. MORIN @ 2015-11-22 14:39 UTC (permalink / raw) To: buildroot The host configure commands are not indented the same way as the target ones. Besides, there are leading spaces (instead of TABs) on one line. Replicate the same indentation as used for the target commands. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> --- package/pkg-autotools.mk | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package/pkg-autotools.mk b/package/pkg-autotools.mk index 4787914..502eeea 100644 --- a/package/pkg-autotools.mk +++ b/package/pkg-autotools.mk @@ -214,12 +214,12 @@ else # installed. define $(2)_CONFIGURE_CMDS (cd $$($$(PKG)_SRCDIR) && rm -rf config.cache; \ - $$(HOST_CONFIGURE_OPTS) \ - CFLAGS="$$(HOST_CFLAGS)" \ - LDFLAGS="$$(HOST_LDFLAGS)" \ - $$($$(PKG)_CONF_ENV) \ - CONFIG_SITE=/dev/null \ - ./configure \ + $$(HOST_CONFIGURE_OPTS) \ + CFLAGS="$$(HOST_CFLAGS)" \ + LDFLAGS="$$(HOST_LDFLAGS)" \ + $$($$(PKG)_CONF_ENV) \ + CONFIG_SITE=/dev/null \ + ./configure \ --prefix="$$(HOST_DIR)/usr" \ --sysconfdir="$$(HOST_DIR)/etc" \ --localstatedir="$$(HOST_DIR)/var" \ -- 1.9.1 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 1/3] core/pkg-autotools: align host configure commands to target one 2015-11-22 14:39 ` [Buildroot] [PATCH 1/3] core/pkg-autotools: align host configure commands to target one Yann E. MORIN @ 2015-11-22 20:46 ` Arnout Vandecappelle 2015-11-23 17:38 ` Thomas Petazzoni 1 sibling, 0 replies; 18+ messages in thread From: Arnout Vandecappelle @ 2015-11-22 20:46 UTC (permalink / raw) To: buildroot On 22-11-15 15:39, Yann E. MORIN wrote: > The host configure commands are not indented the same way as the target > ones. Besides, there are leading spaces (instead of TABs) on one line. > > Replicate the same indentation as used for the target commands. > > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> [Verified that it's whitespace only change.] Regards, Arnout > --- > package/pkg-autotools.mk | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/package/pkg-autotools.mk b/package/pkg-autotools.mk > index 4787914..502eeea 100644 > --- a/package/pkg-autotools.mk > +++ b/package/pkg-autotools.mk > @@ -214,12 +214,12 @@ else > # installed. > define $(2)_CONFIGURE_CMDS > (cd $$($$(PKG)_SRCDIR) && rm -rf config.cache; \ > - $$(HOST_CONFIGURE_OPTS) \ > - CFLAGS="$$(HOST_CFLAGS)" \ > - LDFLAGS="$$(HOST_LDFLAGS)" \ > - $$($$(PKG)_CONF_ENV) \ > - CONFIG_SITE=/dev/null \ > - ./configure \ > + $$(HOST_CONFIGURE_OPTS) \ > + CFLAGS="$$(HOST_CFLAGS)" \ > + LDFLAGS="$$(HOST_LDFLAGS)" \ > + $$($$(PKG)_CONF_ENV) \ > + CONFIG_SITE=/dev/null \ > + ./configure \ > --prefix="$$(HOST_DIR)/usr" \ > --sysconfdir="$$(HOST_DIR)/etc" \ > --localstatedir="$$(HOST_DIR)/var" \ > -- Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 1/3] core/pkg-autotools: align host configure commands to target one 2015-11-22 14:39 ` [Buildroot] [PATCH 1/3] core/pkg-autotools: align host configure commands to target one Yann E. MORIN 2015-11-22 20:46 ` Arnout Vandecappelle @ 2015-11-23 17:38 ` Thomas Petazzoni 2015-11-23 17:51 ` Yann E. MORIN 1 sibling, 1 reply; 18+ messages in thread From: Thomas Petazzoni @ 2015-11-23 17:38 UTC (permalink / raw) To: buildroot Dear Yann E. MORIN, On Sun, 22 Nov 2015 15:39:41 +0100, Yann E. MORIN wrote: > The host configure commands are not indented the same way as the target > ones. Besides, there are leading spaces (instead of TABs) on one line. > > Replicate the same indentation as used for the target commands. > > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > --- > package/pkg-autotools.mk | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) Applied to next, thanks. Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 1/3] core/pkg-autotools: align host configure commands to target one 2015-11-23 17:38 ` Thomas Petazzoni @ 2015-11-23 17:51 ` Yann E. MORIN 2015-11-23 17:55 ` Yann E. MORIN 2015-11-23 20:09 ` Thomas Petazzoni 0 siblings, 2 replies; 18+ messages in thread From: Yann E. MORIN @ 2015-11-23 17:51 UTC (permalink / raw) To: buildroot Thomas, All, On 2015-11-23 18:38 +0100, Thomas Petazzoni spake thusly: > On Sun, 22 Nov 2015 15:39:41 +0100, Yann E. MORIN wrote: > > The host configure commands are not indented the same way as the target > > ones. Besides, there are leading spaces (instead of TABs) on one line. > > > > Replicate the same indentation as used for the target commands. > > > > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > > --- > > package/pkg-autotools.mk | 12 ++++++------ > > 1 file changed, 6 insertions(+), 6 deletions(-) > > Applied to next, thanks. In the cover-letter, I suggestd this be applied to master. Did you overlook that part, or did you apply to next on-purpose? Ditto the second patch. Thanks! :-) Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | 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] 18+ messages in thread
* [Buildroot] [PATCH 1/3] core/pkg-autotools: align host configure commands to target one 2015-11-23 17:51 ` Yann E. MORIN @ 2015-11-23 17:55 ` Yann E. MORIN 2015-11-23 20:09 ` Thomas Petazzoni 1 sibling, 0 replies; 18+ messages in thread From: Yann E. MORIN @ 2015-11-23 17:55 UTC (permalink / raw) To: buildroot Thomas, All, On 2015-11-23 18:51 +0100, Yann E. MORIN spake thusly: > On 2015-11-23 18:38 +0100, Thomas Petazzoni spake thusly: > > On Sun, 22 Nov 2015 15:39:41 +0100, Yann E. MORIN wrote: > > > The host configure commands are not indented the same way as the target > > > ones. Besides, there are leading spaces (instead of TABs) on one line. > > > > > > Replicate the same indentation as used for the target commands. > > > > > > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > > > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > > > --- > > > package/pkg-autotools.mk | 12 ++++++------ > > > 1 file changed, 6 insertions(+), 6 deletions(-) > > > > Applied to next, thanks. > > In the cover-letter, I suggestd this be applied to master. No, I did not. It was just the name of the branch. Sigh... Sorry for the noise... Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | 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] 18+ messages in thread
* [Buildroot] [PATCH 1/3] core/pkg-autotools: align host configure commands to target one 2015-11-23 17:51 ` Yann E. MORIN 2015-11-23 17:55 ` Yann E. MORIN @ 2015-11-23 20:09 ` Thomas Petazzoni 2015-11-23 20:51 ` Yann E. MORIN 1 sibling, 1 reply; 18+ messages in thread From: Thomas Petazzoni @ 2015-11-23 20:09 UTC (permalink / raw) To: buildroot Yann, On Mon, 23 Nov 2015 18:51:12 +0100, Yann E. MORIN wrote: > > > package/pkg-autotools.mk | 12 ++++++------ > > > 1 file changed, 6 insertions(+), 6 deletions(-) > > > > Applied to next, thanks. > > In the cover-letter, I suggestd this be applied to master. Did you > overlook that part, or did you apply to next on-purpose? Ditto the > second patch. What would the reasoning to apply such patches on master? They don't fix any problem or bug, so they have no reason to be applied on master. They are good for consistency and documentation, but this is clearly not enough to justify being merged for master IMO. Thanks, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 1/3] core/pkg-autotools: align host configure commands to target one 2015-11-23 20:09 ` Thomas Petazzoni @ 2015-11-23 20:51 ` Yann E. MORIN 0 siblings, 0 replies; 18+ messages in thread From: Yann E. MORIN @ 2015-11-23 20:51 UTC (permalink / raw) To: buildroot Thomas, All, On 2015-11-23 21:09 +0100, Thomas Petazzoni spake thusly: > On Mon, 23 Nov 2015 18:51:12 +0100, Yann E. MORIN wrote: > > > > package/pkg-autotools.mk | 12 ++++++------ > > > > 1 file changed, 6 insertions(+), 6 deletions(-) > > > > > > Applied to next, thanks. > > > > In the cover-letter, I suggestd this be applied to master. Did you > > overlook that part, or did you apply to next on-purpose? Ditto the > > second patch. > > What would the reasoning to apply such patches on master? They don't > fix any problem or bug, so they have no reason to be applied on master. > They are good for consistency and documentation, but this is clearly > not enough to justify being merged for master IMO. No problem for them in next. Thanks! :-) Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | 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] 18+ messages in thread
* [Buildroot] [PATCH 2/3] package/gcc: comment on why we override the generic configure commands 2015-11-22 14:39 [Buildroot] [PATCH 0/3] core+gcc: align configure commands (branch yem/quickies-for-master) Yann E. MORIN 2015-11-22 14:39 ` [Buildroot] [PATCH 1/3] core/pkg-autotools: align host configure commands to target one Yann E. MORIN @ 2015-11-22 14:39 ` Yann E. MORIN 2015-11-22 15:11 ` Jérôme Pouiller ` (2 more replies) 2015-11-22 14:39 ` [Buildroot] [PATCH 3/3] package/gcc: align gcc-final configure-cmds to the generic ones Yann E. MORIN 2 siblings, 3 replies; 18+ messages in thread From: Yann E. MORIN @ 2015-11-22 14:39 UTC (permalink / raw) To: buildroot The explanations given in the commit log of 7d6c79 (Compile static versions of gcc libraries) do not explain why we have to provide custom configure commands, instead of just adding --enable-static to the configure options. Add a comment in the code that explains why that is so. Add a pointer to the ML archives with the explanations, too. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: J?r?me Pouiller <jezz@sysmic.org> --- package/gcc/gcc-final/gcc-final.mk | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/package/gcc/gcc-final/gcc-final.mk b/package/gcc/gcc-final/gcc-final.mk index 7802855..dbdb615 100644 --- a/package/gcc/gcc-final/gcc-final.mk +++ b/package/gcc/gcc-final/gcc-final.mk @@ -27,6 +27,15 @@ HOST_GCC_FINAL_SUBDIR = build HOST_GCC_FINAL_PRE_CONFIGURE_HOOKS += HOST_GCC_CONFIGURE_SYMLINK +# We want to always build the static variants of all the gcc libraries, +# of which libstdc++, libgomp, libmudflap... +# To do so, we can not just pass --enable-static to override the generic +# --disable-static flag, otherwise gcc fails to build some of those +# libraries, see; +# http://lists.busybox.net/pipermail/buildroot/2013-October/080412.html +# +# So we must completely override the generic commands and provide our own. +# define HOST_GCC_FINAL_CONFIGURE_CMDS (cd $(HOST_GCC_FINAL_SRCDIR) && rm -rf config.cache; \ $(HOST_CONFIGURE_OPTS) \ -- 1.9.1 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 2/3] package/gcc: comment on why we override the generic configure commands 2015-11-22 14:39 ` [Buildroot] [PATCH 2/3] package/gcc: comment on why we override the generic configure commands Yann E. MORIN @ 2015-11-22 15:11 ` Jérôme Pouiller 2015-11-22 20:48 ` Arnout Vandecappelle 2015-11-23 17:38 ` Thomas Petazzoni 2 siblings, 0 replies; 18+ messages in thread From: Jérôme Pouiller @ 2015-11-22 15:11 UTC (permalink / raw) To: buildroot On Sunday 22 November 2015 15:39:42 Yann E. MORIN wrote: > The explanations given in the commit log of 7d6c79 (Compile static > versions of gcc libraries) do not explain why we have to provide > custom configure commands, instead of just adding --enable-static to > the configure options. > > Add a comment in the code that explains why that is so. Add a pointer > to the ML archives with the explanations, too. > > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > Cc: J?r?me Pouiller <jezz@sysmic.org> Acked-by: J?r?me Pouiller <jezz@sysmic.org> -- J?r?me Pouiller, Sysmic Embedded Linux specialist http://www.sysmic.fr ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 2/3] package/gcc: comment on why we override the generic configure commands 2015-11-22 14:39 ` [Buildroot] [PATCH 2/3] package/gcc: comment on why we override the generic configure commands Yann E. MORIN 2015-11-22 15:11 ` Jérôme Pouiller @ 2015-11-22 20:48 ` Arnout Vandecappelle 2015-11-23 17:38 ` Thomas Petazzoni 2 siblings, 0 replies; 18+ messages in thread From: Arnout Vandecappelle @ 2015-11-22 20:48 UTC (permalink / raw) To: buildroot On 22-11-15 15:39, Yann E. MORIN wrote: > The explanations given in the commit log of 7d6c79 (Compile static > versions of gcc libraries) do not explain why we have to provide custom > configure commands, instead of just adding --enable-static to the > configure options. > > Add a comment in the code that explains why that is so. Add a pointer to > the ML archives with the explanations, too. > > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > Cc: J?r?me Pouiller <jezz@sysmic.org> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Regards, Arnout > --- > package/gcc/gcc-final/gcc-final.mk | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/package/gcc/gcc-final/gcc-final.mk b/package/gcc/gcc-final/gcc-final.mk > index 7802855..dbdb615 100644 > --- a/package/gcc/gcc-final/gcc-final.mk > +++ b/package/gcc/gcc-final/gcc-final.mk > @@ -27,6 +27,15 @@ HOST_GCC_FINAL_SUBDIR = build > > HOST_GCC_FINAL_PRE_CONFIGURE_HOOKS += HOST_GCC_CONFIGURE_SYMLINK > > +# We want to always build the static variants of all the gcc libraries, > +# of which libstdc++, libgomp, libmudflap... > +# To do so, we can not just pass --enable-static to override the generic > +# --disable-static flag, otherwise gcc fails to build some of those > +# libraries, see; > +# http://lists.busybox.net/pipermail/buildroot/2013-October/080412.html > +# > +# So we must completely override the generic commands and provide our own. > +# > define HOST_GCC_FINAL_CONFIGURE_CMDS > (cd $(HOST_GCC_FINAL_SRCDIR) && rm -rf config.cache; \ > $(HOST_CONFIGURE_OPTS) \ > -- Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 2/3] package/gcc: comment on why we override the generic configure commands 2015-11-22 14:39 ` [Buildroot] [PATCH 2/3] package/gcc: comment on why we override the generic configure commands Yann E. MORIN 2015-11-22 15:11 ` Jérôme Pouiller 2015-11-22 20:48 ` Arnout Vandecappelle @ 2015-11-23 17:38 ` Thomas Petazzoni 2 siblings, 0 replies; 18+ messages in thread From: Thomas Petazzoni @ 2015-11-23 17:38 UTC (permalink / raw) To: buildroot Dear Yann E. MORIN, On Sun, 22 Nov 2015 15:39:42 +0100, Yann E. MORIN wrote: > The explanations given in the commit log of 7d6c79 (Compile static > versions of gcc libraries) do not explain why we have to provide custom > configure commands, instead of just adding --enable-static to the > configure options. > > Add a comment in the code that explains why that is so. Add a pointer to > the ML archives with the explanations, too. > > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > Cc: J?r?me Pouiller <jezz@sysmic.org> > --- > package/gcc/gcc-final/gcc-final.mk | 9 +++++++++ > 1 file changed, 9 insertions(+) Applied to next, thanks. Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 3/3] package/gcc: align gcc-final configure-cmds to the generic ones 2015-11-22 14:39 [Buildroot] [PATCH 0/3] core+gcc: align configure commands (branch yem/quickies-for-master) Yann E. MORIN 2015-11-22 14:39 ` [Buildroot] [PATCH 1/3] core/pkg-autotools: align host configure commands to target one Yann E. MORIN 2015-11-22 14:39 ` [Buildroot] [PATCH 2/3] package/gcc: comment on why we override the generic configure commands Yann E. MORIN @ 2015-11-22 14:39 ` Yann E. MORIN 2015-11-22 20:59 ` Arnout Vandecappelle ` (2 more replies) 2 siblings, 3 replies; 18+ messages in thread From: Yann E. MORIN @ 2015-11-22 14:39 UTC (permalink / raw) To: buildroot Since 7d6c79 (Compile static versions of gcc libraries) was applied, the generic configure commands have been updated, but those changes have not been propagated to the gcc-final custom configure commands. Update the gcc-final custom configure commands to better match the generic ones. We do not propagate --disable-dependency-tracking because it breaks the build, and --enable-shared (because of 169141a). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> --- package/gcc/gcc-final/gcc-final.mk | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/package/gcc/gcc-final/gcc-final.mk b/package/gcc/gcc-final/gcc-final.mk index dbdb615..53199c3 100644 --- a/package/gcc/gcc-final/gcc-final.mk +++ b/package/gcc/gcc-final/gcc-final.mk @@ -36,16 +36,31 @@ HOST_GCC_FINAL_PRE_CONFIGURE_HOOKS += HOST_GCC_CONFIGURE_SYMLINK # # So we must completely override the generic commands and provide our own. # +# Except for --disable-dependency-tracking which breaks the build, and +# --enable-shared (see 169141a, gcc-final: disable shared build for +# static), we reproduce the exact same command as the autotools infra +# uses. +# define HOST_GCC_FINAL_CONFIGURE_CMDS (cd $(HOST_GCC_FINAL_SRCDIR) && rm -rf config.cache; \ - $(HOST_CONFIGURE_OPTS) \ - CFLAGS="$(HOST_CFLAGS)" \ - LDFLAGS="$(HOST_LDFLAGS)" \ - $(HOST_GCC_FINAL_CONF_ENV) \ - ./configure \ + $(HOST_CONFIGURE_OPTS) \ + CFLAGS="$(HOST_CFLAGS)" \ + LDFLAGS="$(HOST_LDFLAGS)" \ + $(HOST_GCC_FINAL_CONF_ENV) \ + CONFIG_SITE=/dev/null \ + ./configure \ --prefix="$(HOST_DIR)/usr" \ --sysconfdir="$(HOST_DIR)/etc" \ + --localstatedir="$(HOST_DIR)/var" \ --enable-static \ + --disable-gtk-doc \ + --disable-gtk-doc-html \ + --disable-doc \ + --disable-docs \ + --disable-documentation \ + --disable-debug \ + --with-xmlto=no \ + --with-fop=no \ $(QUIET) $(HOST_GCC_FINAL_CONF_OPTS) \ ) endef -- 1.9.1 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 3/3] package/gcc: align gcc-final configure-cmds to the generic ones 2015-11-22 14:39 ` [Buildroot] [PATCH 3/3] package/gcc: align gcc-final configure-cmds to the generic ones Yann E. MORIN @ 2015-11-22 20:59 ` Arnout Vandecappelle 2015-11-22 21:02 ` Yann E. MORIN 2015-11-23 20:14 ` Thomas Petazzoni 2015-12-29 22:06 ` Yann E. MORIN 2 siblings, 1 reply; 18+ messages in thread From: Arnout Vandecappelle @ 2015-11-22 20:59 UTC (permalink / raw) To: buildroot On 22-11-15 15:39, Yann E. MORIN wrote: > Since 7d6c79 (Compile static versions of gcc libraries) was applied, the > generic configure commands have been updated, but those changes have not > been propagated to the gcc-final custom configure commands. > > Update the gcc-final custom configure commands to better match the > generic ones. > > We do not propagate --disable-dependency-tracking because it breaks the > build, and --enable-shared (because of 169141a). > > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > --- > package/gcc/gcc-final/gcc-final.mk | 25 ++++++++++++++++++++----- > 1 file changed, 20 insertions(+), 5 deletions(-) > > diff --git a/package/gcc/gcc-final/gcc-final.mk b/package/gcc/gcc-final/gcc-final.mk > index dbdb615..53199c3 100644 > --- a/package/gcc/gcc-final/gcc-final.mk > +++ b/package/gcc/gcc-final/gcc-final.mk > @@ -36,16 +36,31 @@ HOST_GCC_FINAL_PRE_CONFIGURE_HOOKS += HOST_GCC_CONFIGURE_SYMLINK > # > # So we must completely override the generic commands and provide our own. > # > +# Except for --disable-dependency-tracking which breaks the build, and > +# --enable-shared (see 169141a, gcc-final: disable shared build for > +# static), we reproduce the exact same command as the autotools infra > +# uses. > +# > define HOST_GCC_FINAL_CONFIGURE_CMDS > (cd $(HOST_GCC_FINAL_SRCDIR) && rm -rf config.cache; \ > - $(HOST_CONFIGURE_OPTS) \ > - CFLAGS="$(HOST_CFLAGS)" \ > - LDFLAGS="$(HOST_LDFLAGS)" \ > - $(HOST_GCC_FINAL_CONF_ENV) \ > - ./configure \ > + $(HOST_CONFIGURE_OPTS) \ > + CFLAGS="$(HOST_CFLAGS)" \ > + LDFLAGS="$(HOST_LDFLAGS)" \ > + $(HOST_GCC_FINAL_CONF_ENV) \ I do agree with the whitespace change. > + CONFIG_SITE=/dev/null \ This makes sense to me as well. > + ./configure \ > --prefix="$(HOST_DIR)/usr" \ > --sysconfdir="$(HOST_DIR)/etc" \ > + --localstatedir="$(HOST_DIR)/var" \ This one is pointless but harmless. > --enable-static \ > + --disable-gtk-doc \ > + --disable-gtk-doc-html \ > + --disable-doc \ > + --disable-docs \ > + --disable-documentation \ > + --disable-debug \ > + --with-xmlto=no \ > + --with-fop=no \ But all of this gains us nothing IMHO, and is in a way harmful because it will produce warnings. We accept those warnings for the generic configure commands because it gives us the advantage of avoiding that we forget to add them when creating a package, but in this case I really don't see the point. Regards, Arnout > $(QUIET) $(HOST_GCC_FINAL_CONF_OPTS) \ > ) > endef > -- Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 3/3] package/gcc: align gcc-final configure-cmds to the generic ones 2015-11-22 20:59 ` Arnout Vandecappelle @ 2015-11-22 21:02 ` Yann E. MORIN 0 siblings, 0 replies; 18+ messages in thread From: Yann E. MORIN @ 2015-11-22 21:02 UTC (permalink / raw) To: buildroot Arnout, All, On 2015-11-22 21:59 +0100, Arnout Vandecappelle spake thusly: > On 22-11-15 15:39, Yann E. MORIN wrote: > > Since 7d6c79 (Compile static versions of gcc libraries) was applied, the > > generic configure commands have been updated, but those changes have not > > been propagated to the gcc-final custom configure commands. > > > > Update the gcc-final custom configure commands to better match the > > generic ones. > > > > We do not propagate --disable-dependency-tracking because it breaks the > > build, and --enable-shared (because of 169141a). > > > > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > > --- > > package/gcc/gcc-final/gcc-final.mk | 25 ++++++++++++++++++++----- > > 1 file changed, 20 insertions(+), 5 deletions(-) > > > > diff --git a/package/gcc/gcc-final/gcc-final.mk b/package/gcc/gcc-final/gcc-final.mk > > index dbdb615..53199c3 100644 > > --- a/package/gcc/gcc-final/gcc-final.mk > > +++ b/package/gcc/gcc-final/gcc-final.mk > > @@ -36,16 +36,31 @@ HOST_GCC_FINAL_PRE_CONFIGURE_HOOKS += HOST_GCC_CONFIGURE_SYMLINK > > # > > # So we must completely override the generic commands and provide our own. > > # > > +# Except for --disable-dependency-tracking which breaks the build, and > > +# --enable-shared (see 169141a, gcc-final: disable shared build for > > +# static), we reproduce the exact same command as the autotools infra > > +# uses. > > +# > > define HOST_GCC_FINAL_CONFIGURE_CMDS > > (cd $(HOST_GCC_FINAL_SRCDIR) && rm -rf config.cache; \ > > - $(HOST_CONFIGURE_OPTS) \ > > - CFLAGS="$(HOST_CFLAGS)" \ > > - LDFLAGS="$(HOST_LDFLAGS)" \ > > - $(HOST_GCC_FINAL_CONF_ENV) \ > > - ./configure \ > > + $(HOST_CONFIGURE_OPTS) \ > > + CFLAGS="$(HOST_CFLAGS)" \ > > + LDFLAGS="$(HOST_LDFLAGS)" \ > > + $(HOST_GCC_FINAL_CONF_ENV) \ > > I do agree with the whitespace change. > > > + CONFIG_SITE=/dev/null \ > > This makes sense to me as well. > > > + ./configure \ > > --prefix="$(HOST_DIR)/usr" \ > > --sysconfdir="$(HOST_DIR)/etc" \ > > + --localstatedir="$(HOST_DIR)/var" \ > > This one is pointless but harmless. > > > --enable-static \ > > + --disable-gtk-doc \ > > + --disable-gtk-doc-html \ > > + --disable-doc \ > > + --disable-docs \ > > + --disable-documentation \ > > + --disable-debug \ > > + --with-xmlto=no \ > > + --with-fop=no \ > > But all of this gains us nothing IMHO, and is in a way harmful because it will > produce warnings. We accept those warnings for the generic configure commands > because it gives us the advantage of avoiding that we forget to add them when > creating a package, but in this case I really don't see the point. The point is to diverge as little as possible from the generic command. Even if some options are useless, or cause the same warning as if we were using the generic command, they are replicated here. Only those options we really do not want are omitted. Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | 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] 18+ messages in thread
* [Buildroot] [PATCH 3/3] package/gcc: align gcc-final configure-cmds to the generic ones 2015-11-22 14:39 ` [Buildroot] [PATCH 3/3] package/gcc: align gcc-final configure-cmds to the generic ones Yann E. MORIN 2015-11-22 20:59 ` Arnout Vandecappelle @ 2015-11-23 20:14 ` Thomas Petazzoni 2015-11-24 18:39 ` Yann E. MORIN 2015-12-29 22:06 ` Yann E. MORIN 2 siblings, 1 reply; 18+ messages in thread From: Thomas Petazzoni @ 2015-11-23 20:14 UTC (permalink / raw) To: buildroot Yann, On Sun, 22 Nov 2015 15:39:43 +0100, Yann E. MORIN wrote: > Since 7d6c79 (Compile static versions of gcc libraries) was applied, the > generic configure commands have been updated, but those changes have not > been propagated to the gcc-final custom configure commands. > > Update the gcc-final custom configure commands to better match the > generic ones. > > We do not propagate --disable-dependency-tracking because it breaks the > build, and --enable-shared (because of 169141a). > > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> A little bit like Arnout, I am not sure to see the value of fully aligning the configure commands just for the sake of it. Another possibility is to add a mechanism in the infra to exclude some generic config options from being used. But I tend to hate package infrastructure that are needed only for one package, especially when there is a way of not changing the infrastructure (which is the case here). Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 3/3] package/gcc: align gcc-final configure-cmds to the generic ones 2015-11-23 20:14 ` Thomas Petazzoni @ 2015-11-24 18:39 ` Yann E. MORIN 0 siblings, 0 replies; 18+ messages in thread From: Yann E. MORIN @ 2015-11-24 18:39 UTC (permalink / raw) To: buildroot Thomas, All, On 2015-11-23 21:14 +0100, Thomas Petazzoni spake thusly: > On Sun, 22 Nov 2015 15:39:43 +0100, Yann E. MORIN wrote: > > Since 7d6c79 (Compile static versions of gcc libraries) was applied, the > > generic configure commands have been updated, but those changes have not > > been propagated to the gcc-final custom configure commands. > > > > Update the gcc-final custom configure commands to better match the > > generic ones. > > > > We do not propagate --disable-dependency-tracking because it breaks the > > build, and --enable-shared (because of 169141a). > > > > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > > A little bit like Arnout, I am not sure to see the value of fully > aligning the configure commands just for the sake of it. My reasoning is that, when we update the ./configure command in the infra, it's always for a good reason. The current set of options is the result of many successive fixes to so many build failures and corner cases, that we applied over time, and that we know ensure a proper build, hopefully in even the harshest conditions. It seems logical that we propagate those options to all packages that have to override the ./configure command (unless said options actually prevent the package from building, obviously). For gcc, we already know that the additional options (except the omitted ones) are not causing problems when building gcc-initial, at least (and I actually tested that they did not cause build failures in gcc-final either, on: arm, mips, i386 and xtensa). That way, when we update the command in the infra, we can easily propagate it down to overriding packages. > Another possibility is to add a mechanism in the infra to exclude some > generic config options from being used. But I tend to hate package > infrastructure that are needed only for one package, especially when > there is a way of not changing the infrastructure (which is the case > here). Let's see how many autotools packages do redefine their ./configure command: $ git grep -l -E 'eval \$\((host-)?autotools-package' |wc -l 1055 So, we have roughly 1055 (minus the manual) packages using the autotools (or the host-autotools) infra. $ grep CONFIGURE_CMDS $(git grep -l -E 'eval \$\((host-)?autotools-package') |wc -l 10 So, we have 8 (one hit is in the manual, one in a comment) packages that override their ./configure command, with the associated reason: - berkeleydb: does not support in-tree build - fbv: does not support cross-compilation - ffmpeg: does not support --target and such - gcc-final: needs --enable-static and not --enable-shared, does not support in-tree build, misses options from the infra - glibc: does not support in-tree build, needs bash to execute ./configure, needs -O2 in CFLAGS, touches two files after the ./configure, uses extra options and misses some from the infra - libgtk3: host variant redefines all of the configure, build and install commands, to build just the strictly required stuff - libplayer: does not support --target and --host - mdadm: does nothing! So, it seems we could go with some cleanup there (any taker?): - fbv, ffmpeg, libplayer, mdadm: are not autotools packages, should be switched to the generic package infrastructure - libgtk3: host variant should be switched to the generic package infrastructure We'd be left with just three packages, berkeleydb, gcc-final and glibc. The common symptom for all three in the inability to build in-tree. Wecould probably ad dsupport for this in the gneeric infra, but it does not make sense to work on the infra just for those three cases, when you have a series do it so unconditionally, and for all the infras. So, only gcc-final needs to ditch one option. It does not make sense to add support in the infra just for this case. Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | 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] 18+ messages in thread
* [Buildroot] [PATCH 3/3] package/gcc: align gcc-final configure-cmds to the generic ones 2015-11-22 14:39 ` [Buildroot] [PATCH 3/3] package/gcc: align gcc-final configure-cmds to the generic ones Yann E. MORIN 2015-11-22 20:59 ` Arnout Vandecappelle 2015-11-23 20:14 ` Thomas Petazzoni @ 2015-12-29 22:06 ` Yann E. MORIN 2 siblings, 0 replies; 18+ messages in thread From: Yann E. MORIN @ 2015-12-29 22:06 UTC (permalink / raw) To: buildroot Me, All, On 2015-11-22 15:39 +0100, Yann E. MORIN spake thusly: > Since 7d6c79 (Compile static versions of gcc libraries) was applied, the > generic configure commands have been updated, but those changes have not > been propagated to the gcc-final custom configure commands. > > Update the gcc-final custom configure commands to better match the > generic ones. > > We do not propagate --disable-dependency-tracking because it breaks the > build, and --enable-shared (because of 169141a). > > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Rejected. ;-p Regards, Yann E. MORIN. > --- > package/gcc/gcc-final/gcc-final.mk | 25 ++++++++++++++++++++----- > 1 file changed, 20 insertions(+), 5 deletions(-) > > diff --git a/package/gcc/gcc-final/gcc-final.mk b/package/gcc/gcc-final/gcc-final.mk > index dbdb615..53199c3 100644 > --- a/package/gcc/gcc-final/gcc-final.mk > +++ b/package/gcc/gcc-final/gcc-final.mk > @@ -36,16 +36,31 @@ HOST_GCC_FINAL_PRE_CONFIGURE_HOOKS += HOST_GCC_CONFIGURE_SYMLINK > # > # So we must completely override the generic commands and provide our own. > # > +# Except for --disable-dependency-tracking which breaks the build, and > +# --enable-shared (see 169141a, gcc-final: disable shared build for > +# static), we reproduce the exact same command as the autotools infra > +# uses. > +# > define HOST_GCC_FINAL_CONFIGURE_CMDS > (cd $(HOST_GCC_FINAL_SRCDIR) && rm -rf config.cache; \ > - $(HOST_CONFIGURE_OPTS) \ > - CFLAGS="$(HOST_CFLAGS)" \ > - LDFLAGS="$(HOST_LDFLAGS)" \ > - $(HOST_GCC_FINAL_CONF_ENV) \ > - ./configure \ > + $(HOST_CONFIGURE_OPTS) \ > + CFLAGS="$(HOST_CFLAGS)" \ > + LDFLAGS="$(HOST_LDFLAGS)" \ > + $(HOST_GCC_FINAL_CONF_ENV) \ > + CONFIG_SITE=/dev/null \ > + ./configure \ > --prefix="$(HOST_DIR)/usr" \ > --sysconfdir="$(HOST_DIR)/etc" \ > + --localstatedir="$(HOST_DIR)/var" \ > --enable-static \ > + --disable-gtk-doc \ > + --disable-gtk-doc-html \ > + --disable-doc \ > + --disable-docs \ > + --disable-documentation \ > + --disable-debug \ > + --with-xmlto=no \ > + --with-fop=no \ > $(QUIET) $(HOST_GCC_FINAL_CONF_OPTS) \ > ) > endef > -- > 1.9.1 > -- .-----------------.--------------------.------------------.--------------------. | 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] 18+ messages in thread
end of thread, other threads:[~2015-12-29 22:06 UTC | newest] Thread overview: 18+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-11-22 14:39 [Buildroot] [PATCH 0/3] core+gcc: align configure commands (branch yem/quickies-for-master) Yann E. MORIN 2015-11-22 14:39 ` [Buildroot] [PATCH 1/3] core/pkg-autotools: align host configure commands to target one Yann E. MORIN 2015-11-22 20:46 ` Arnout Vandecappelle 2015-11-23 17:38 ` Thomas Petazzoni 2015-11-23 17:51 ` Yann E. MORIN 2015-11-23 17:55 ` Yann E. MORIN 2015-11-23 20:09 ` Thomas Petazzoni 2015-11-23 20:51 ` Yann E. MORIN 2015-11-22 14:39 ` [Buildroot] [PATCH 2/3] package/gcc: comment on why we override the generic configure commands Yann E. MORIN 2015-11-22 15:11 ` Jérôme Pouiller 2015-11-22 20:48 ` Arnout Vandecappelle 2015-11-23 17:38 ` Thomas Petazzoni 2015-11-22 14:39 ` [Buildroot] [PATCH 3/3] package/gcc: align gcc-final configure-cmds to the generic ones Yann E. MORIN 2015-11-22 20:59 ` Arnout Vandecappelle 2015-11-22 21:02 ` Yann E. MORIN 2015-11-23 20:14 ` Thomas Petazzoni 2015-11-24 18:39 ` Yann E. MORIN 2015-12-29 22:06 ` Yann E. MORIN
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox