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, Dec 19, 12:19 PM
Unknown Object (File)
Fri, Dec 19, 12:19 PM
Unknown Object (File)
Wed, Dec 17, 9:24 PM
Unknown Object (File)
Thu, Dec 11, 11:19 AM
Unknown Object (File)
Wed, Dec 3, 3:45 PM
Unknown Object (File)
Nov 23 2025, 10:53 PM
Unknown Object (File)
Nov 17 2025, 4:53 AM
Unknown Object (File)
Nov 17 2025, 4:35 AM
Subscribers

Details

Reviewers
None
Group Reviewers
O5: Ports Framework(Owns No Changed Paths)
portmgr
Commits
rP443024: Meson is picky about the arguments of build options.
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
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 9710
Build 10150: arc lint + arc unit

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.