[Buildroot] [PATCH v3 1/3] package/waf: add a blind Config.in.host
Thomas Petazzoni
thomas.petazzoni at bootlin.com
Thu Jan 3 21:50:52 UTC 2019
Hello,
+Arnout in Cc. Arnout, there's some discussion on one of your favorite
topic: Config.in.host options for all packages. Read on below.
On Wed, 26 Dec 2018 22:55:21 +0100, Yann E. MORIN wrote:
> > I.e: I am all in favor of this change, but I'm just curious to
> > understand why you did it in the first place.
>
> Well, I am not really happy with that, though: do we really plan on
> having packages really select all the host tools they need?
>
> If so, do we really envision autotools-based packages selecting
> host-autoconf, host-automake, host-libtool? And then packages that use
> host-pkgconf you should also select it...
>
> Also, what about host-cmake, which is conditionally built, but for which
> we do not have the info in kconfig? (well, we can argue we'd have to do
> like we do for host-gcc, but still). Oh, and host-tar, host-flex,
> host-bison, and so on... :-/
Meh, I hadn't thought of conditional packages like host-tar, host-cmake
and so on.
> So, no, I'm not happy with that direction...
>
> config BR2_PACKAGE_FOO
> bool "foo"
> select BR2_PACKAGE_HOST_AUTOCONF
> select BR2_PACKAGE_HOST_AUTOMAKE
> select BR2_PACKAGE_HOST_LIBTOOL
> select BR2_PACKAGE_MAYBE_HOST_TAR
> select BR2_PACKAGE_MAYBE_HOST_FLEX_FOR_KCONFIG
> select BR2_PACKAGE_MAYBE_HOST_BISON_FOR_KCONFIG
> select BR2_PACKAGE_HOST_PKGCONF
>
> Unles we're planning on hiding that away into meta-config, like:
>
> config BR2_PACKAGE_FOO
> bool "foo"
> select BR2_AUTOTOOLS_PACKAGE # mimick $(eval $(autotools-package))
> select BR2_PACKAGE_HOST_PKGCONF_BECAUSE_IT_S_NOT_MANDATORY
>
> And still, the optionally-required host packages like tar, flex et al.
> are not covered...
>
> Meh... :-(
Indeed, I understand the "Meh" here. I hadn't really realized what it
would mean to have Config.in.host options for all packages, and
properly selected by all its users.
But still, there are a number of cases where it would really help, so
that a given host package can be aware that another host package has
been built with a given feature (or not). Or precisely to force that a
certain host package is built with a given option. For example, in
host-python, we had situations where only a given package needed
host-python to be built with FOO support, and since we don't have any
BR2_PACKAGE_HOST_PYTHON_FOO option, our only choice was to
unconditionally enable FOO support in host-python, adding build time to
everyone, even if FOO in host-python might only be needed for one
obscure package.
It seems like we don't have a very conclusive decision on this topic at
this point.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
More information about the buildroot
mailing list