Hi,
On 2023-02-08 11:45:05 +0100, Peter Eisentraut wrote:
> Most meson options (meson_options.txt) that enable an external dependency
> (e.g., icu, ldap) are of type 'feature'. Most of these have a default value
> of 'auto', which means they are pulled in automatically if found. Some have
> a default value of 'disabled' for specific reasons (e.g., selinux). This is
> all good.
>
> Two options deviate from this in annoying ways:
>
> option('ssl', type : 'combo', choices : ['none', 'openssl'],
> value : 'none',
> description: 'use LIB for SSL/TLS support (openssl)')
>
> option('uuid', type : 'combo', choices : ['none', 'bsd', 'e2fs', 'ossp'],
> value : 'none',
> description: 'build contrib/uuid-ossp using LIB')
>
> These were moved over from configure like that.
>
> The problem is that these features now cannot be automatically enabled and
> behave annoyingly different from other feature options.
Oh, yes, this has been bothering me too.
> For the 'ssl' option, we have deprecated the --with-openssl option in
> configure and replaced it with --with-ssl, in anticipation of other SSL
> implementations. None of that ever happened or is currently planned AFAICT.
> So I suggest that we semi-revert this, so that we can make 'openssl' an auto
> option in meson.
Hm. I'm inclined to leave it there - I do think it's somewhat likely that
we'll eventually end up with some platform native library. I think it's likely
the NSS patch isn't going anywhere, but I'm not sure that's true for
e.g. using the windows encryption library. IIRC Heikki had a patch at some
point.
I'd probably just add a 'auto' option, and manually make it behave like a
feature option.
> For the 'uuid' option, I'm not sure what the best way to address this would.
> We could establish a search order of libraries that is used if no specific
> one is set (similar to libreadline, libedit, in a way). So we'd have one
> option 'uuid' that is of type feature with default 'auto' and another
> option, say, 'uuid-library' of type 'combo'.
Or add 'auto' as a combo option, and handle the value of the auto_features
option ourselves?
Greetings,
Andres Freund