[pacman-dev] [PATCH 2/5] meson.build: Fix detection of symbols

Allan McRae allan at archlinux.org
Mon Apr 19 14:05:47 UTC 2021


On 19/4/21 9:34 pm, Emil Velikov wrote:
> On Mon, 19 Apr 2021 at 08:10, Allan McRae <allan at archlinux.org> wrote:
>>
>> On 17/4/21 1:45 pm, Mark Weiman wrote:
>>> This patch changes the behavior of meson to define configuration options
>>> *only* when the symbol checked is present. Currently, it defines all of
>>> them in config.h whether the symbol exists or not and the code that
>>> looks for it doesn't check the macro's value, but whether it's defined.
>>>
>>
>> Remember back when we used autotools and all this just worked!  :D
>>
>> Patch looks good to me.
>>
> Food for thought:
> 
> Usually the more robust approach is to always set the respective
> defines to 0/1 and evaluate them directly (aka #if HAVE_).
> In addition one could set -Werror=undef in the build to catch any issues.
> 
> This will produce clear traces with potential issues, while #if
> defined will silently fallback to the "other" path.
> If people are OK with the above, I will follow-up with some patches.
> 
> Note: above suggestion is not meant to dismiss the original patch.
> 


I still live in the good old autotools days where there were lots of
#undef in config.h...

It appears some of that still happens.  This is my build/config.h:

#undef HAVE_STRUCT_STATFS_F_FLAGS
#define HAVE_STRUCT_STATVFS_F_FLAG

But it is not consistent.


I'm not sure whether the better solution is to add more #undef, or to go
to the #if 0/1 style.

Allan


More information about the pacman-dev mailing list