Re: [PATCH 3/3] tools/build: Display logical OR of a feature flavors

From: Quentin Monnet
Date: Thu Aug 18 2022 - 12:40:19 EST


On 18/08/2022 14:25, Roberto Sassu wrote:
> On Thu, 2022-08-18 at 10:09 -0300, Arnaldo Carvalho de Melo wrote:
>> Em Thu, Aug 18, 2022 at 02:09:57PM +0200,
>> roberto.sassu@xxxxxxxxxxxxxxx escreveu:
>>> From: Roberto Sassu <roberto.sassu@xxxxxxxxxx>
>>>
>>> Sometimes, features are simply different flavors of another
>>> feature, to
>>> properly detect the exact dependencies needed by different Linux
>>> distributions.
>>>
>>> For example, libbfd has three flavors: libbfd if the distro does
>>> not
>>> require any additional dependency; libbfd-liberty if it requires
>>> libiberty;
>>> libbfd-liberty-z if it requires libiberty and libz.
>>>
>>> It might not be clear to the user whether a feature has been
>>> successfully
>>> detected or not, given that some of its flavors will be set to OFF,
>>> others
>>> to ON.
>>>
>>> Instead, display only the feature main flavor if not in verbose
>>> mode
>>> (VF != 1), and set it to ON if at least one of its flavors has been
>>> successfully detected (logical OR), OFF otherwise. Omit the other
>>> flavors.
>>>
>>> Accomplish that by declaring a FEATURE_GROUP_MEMBERS-<feature main
>>> flavor>
>>> variable, with the list of the other flavors as variable value. For
>>> now, do
>>> it just for libbfd.
>>>
>>> In verbose mode, of if no group is defined for a feature, show the
>>> feature
>>> detection result as before.
>>
>> Looks cool, tested and added this to the commit log message here in
>> my
>> local branch, that will go public after further tests for the other
>> csets in it:
>>
>> Committer testing:
>>
>> Collecting the output from:
>>
>> $ make -C tools/bpf/bpftool/ clean
>> $ make -C tools/bpf/bpftool/ |& grep "Auto-detecting system
>> features" -A10
>>
>> $ diff -u before after
>> --- before 2022-08-18 10:06:40.422086966 -0300
>> +++ after 2022-08-18 10:07:59.202138282 -0300
>> @@ -1,6 +1,4 @@
>> Auto-detecting system features:
>> ... libbfd: [ on ]
>> -... libbfd-liberty: [ on ]
>> -... libbfd-liberty-z: [ on ]
>> ... libcap: [ on ]
>> ... clang-bpf-co-re: [ on ]
>> $
>>
>> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
>>
>> Thanks for working on this!
>
> Thanks for testing and for adapting/pushing the other patches!
>
> Roberto
>

Tested locally for bpftool and I also observe "libbfd: [ on ]" only.
This looks much better, thank you Roberto for following up on this!

Quentin