Page MenuHomeFreeBSD

Add yes/no option helpers for meson
ClosedPublic

Authored by kwm on Jun 6 2017, 9:21 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Nov 8, 2:41 AM
Unknown Object (File)
Fri, Nov 1, 2:02 PM
Unknown Object (File)
Wed, Oct 16, 7:20 AM
Unknown Object (File)
Tue, Oct 15, 3:52 AM
Unknown Object (File)
Mon, Oct 14, 2:40 PM
Unknown Object (File)
Sat, Oct 12, 3:22 AM
Unknown Object (File)
Oct 10 2024, 7:21 PM
Unknown Object (File)
Oct 10 2024, 9:43 AM
Subscribers

Details

Summary

While testing a update, I found out that meson is kind of picky with it's
options. These options are defined in the meson_options.txt file.
For example the ${opt}_MESON_FALSE handler works for "boolean" options:

option('enable-docs',

type: 'boolean', value: false,
description: 'Enable generating the Epoxy API reference (depends on Doxygen)')

However if you try to feed it anything other then true/false meson
will error out. Because it doesn't match what is defined in the
meson_options.txt file.

Add a YES/NO combination for "combo" types, so we don't have the specify
the whole command for ${opt}_MESON_ON/OFF.

option('enable-egl',

type: 'combo',
choices: [ 'auto', 'yes', 'no' ],
value: 'auto',
description: 'Enable EGL support')
Test Plan

See the attached libepoxy update, which demo's the ${opt}_MESON_YES handler.

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Is there more than a handful number of ports that need this ?

Not yet, only the libepoxy update I attached as a demo for now. But GNOME as a whole is switching to meson as there build system of choice, so I expect it being used there enough to warrant these helpers.

Mmm, ok. Please commit the bsd.options.mk change in a separate commit.

This revision was automatically updated to reflect the committed changes.