Skip to content

Add CONF_ENABLE and CONF_PKG_ENABLE helper functions

Arnout Vandecappelle buildroot 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest0 of 3 patches 0 repliesNew

Patches in v1 No applies recorded yet

None of the 3 patches the cover letter announces are in this archive.

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [Buildroot] [PATCH 0/3] Add CONF_ENABLE and CONF_PKG_ENABLE helper functions
Quoted 16 lines · Thomas Petazzoni

Le Sat, 28 Apr 2012 23:16:18 +0200,
"Arnout Vandecappelle (Essensium/Mind)"<[email protected]> a ?crit :

Quoted 13 lines
Quoted 13 lines

Many packages have the following type of construct:

ifeq ($(BR2_PACKAGE_ACL),y)

         SYSTEMD_CONF_OPT += --enable-acl
         SYSTEMD_DEPENDENCIES += acl
 else
         SYSTEMD_CONF_OPT += --disable-acl

endif

The first patch in this series abbreviates that to

$(eval $(call CONF_PKG_ENABLE,SYSTEMD,acl))

Quoted 8 lines
Quoted 1 line
Quoted 1 line

It makes it possible to abbreviate similar constructs as well.

Thanks for working on this and making a proposal.

However, on my side, I am not yet convinced that this is actually making things better than what we have now. What we have now is quite obvious for the first-time reader, which is very good. Those CONF_PKG_ENABLE and CONF_ENABLE macros make things a bit too cryptic from my point of view.

I agree that it looks too cryptic. Certainly with the eval and call things.
And we should indeed try to keep the package .mk files as intuitive as possible.

However, my purpose was not to save a few lines, but rather to make sure
that package contributors do things the correct way. Specifically, I want to make it easier for package contributors to explicitly specify --enable and --disable options.

I was probably just trying too hard to support all possible use cases.
What about adding something like:

SYSTEMD_AUTO_CONF_ENABLE_DEPS += acl

which would get expanded to the whole ifeq thing in the AUTOTARGETS call? This only works if the buildroot package name is the same as the --enable/--disable option, but that already catches many cases.

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
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:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F