kmod/meson_options.txt
Lucas De Marchi bbab061e51 meson: Allow to set dlopen option for compression libraries
Add a dlopen option that allows toggling what libraries libkmod should
attempt to dlopen. If -Ddlopen=foo is passed, it means that library is
required to build, regardless of -Dfoo=*. However that library will
only be linked in if it's not set as dlopen.

Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
[ with disagreement on the need to toggle each one individually,
  it'd be better to be all-or-nothing dlopen'ed ]
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/262
2024-12-06 13:15:20 -08:00

115 lines
2.3 KiB
Meson

# Directories
option(
'distconfdir',
type : 'string',
description : 'Directory to search for distribution configuration files. ' +
'Default: $prefix/lib',
)
option(
'moduledir',
type : 'string',
description : 'Directory to look for kernel modules. Default: /lib/modules',
)
option(
'bashcompletiondir',
type : 'string',
description : 'Bash completions directory. Use "no" to disable.',
)
option(
'fishcompletiondir',
type : 'string',
description : 'Fish completions directory. Use "no" to disable.',
)
option(
'zshcompletiondir',
type : 'string',
description : 'Zsh completions directory. Use "no" to disable.',
)
# Compression options
option(
'zstd',
type : 'feature',
value : 'enabled',
description : 'Handle Zstandard-compressed modules. Default: enabled',
)
option(
'xz',
type : 'feature',
value : 'enabled',
description : 'Handle Xz-compressed modules. Default: enabled',
)
option(
'zlib',
type : 'feature',
value : 'enabled',
description : 'Handle gzip-compressed modules. Default: enabled',
)
# Signed modules
option(
'openssl',
type : 'feature',
value : 'enabled',
description : 'Openssl support, PKCS7 signatures. Default: enabled',
)
option(
'tools',
type : 'boolean',
value : true,
description : 'Build the tools - kmod, depmod, lsmod ... Default: true',
)
option(
'dlopen',
type : 'array',
choices : ['zstd', 'xz', 'zlib', 'all'],
value : [],
description : 'Libraries to dlopen rather than linking. Use \'all\' to . Default: none',
)
option(
'logging',
type : 'boolean',
value : true,
description : 'Build with system logging. Default: true',
)
option(
'debug-messages',
type : 'boolean',
value : false,
description : 'Enable debug messages. Default: false',
)
# XXX: workaround a meson bug, where the tests are always build even
# when explicitly annotated as "build_by_default: false"
# See: https://github.com/mesonbuild/meson/issues/2518
option(
'build-tests',
type : 'boolean',
value : false,
description : 'Always build the test suite. Default: false',
)
option(
'manpages',
type : 'boolean',
value : true,
description : 'Build the manpages. Default: true',
)
option(
'docs',
type : 'boolean',
value : false,
description : 'Build the documentation. Default: false',
)