question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[Enhancement] Support for out-of-tree modules

See original GitHub issue

Maybe this is already possible, but I haven’t found any documentation or other statements. Coming close is issue #4533, but that developed into a different direction.

I propose to allow users to implement their own modules (inheriting ExtensionModule) and allow to import them locally.

Meson already provides a variety of modules for common tasks (i18n for example) or library-specific things (Gnome module for example). There are some issues with in-tree modules though:

  • The process of getting a module upstreamed takes a long time if it happens at all (only modules useful for a broader audience are upstreamed).
  • One might not be so eager to update the build system (meson itself) just to use a newly added module.

There are already ways to implement custom tasks in meson, mainly find_program() or generator(). Those generalized functions can, by design, not be as convinient to use as specialized functions. The ability to define custom methods with a speaking name and clearly defined parameters makes working with common tasks much more pleasent.

The reasoning behind this request is based on the anforemented issues, as well as companies having internal or proprietary tooling for which a module could legally not be added to meson.

Issue Analytics

  • State:open
  • Created 2 years ago
  • Comments:7 (7 by maintainers)

github_iconTop GitHub Comments

1reaction
eli-schwartzcommented, Apr 13, 2021
  1. We would need to keep it stable over releases.

The first one we don’t have and we don’t have resources for the latter. Not to mention that it would severely limit any internal refactoring we’d need to do to update the core.

Actually IMO this is not necessarily a problem (if it were the only argument against them) 😄 we could do like the linux kernel and say “your punishment for not upstreaming it is, there is no stable API and it might break in a point release, you’ll need to maintain ifdef soup to keep it working”.

0reactions
Flow-Itcommented, Apr 13, 2021

Thanks, I didn’t know about the limitations of find_program(). That clears up the concerns @jpakkane has about UDFs.

Read more comments on GitHub >

github_iconTop Results From Across the Web

OutOfTreeModules - GNU Radio Wiki
An out-of-tree module is a GNU Radio component that does not live within ... etc. gr_modtool is a script which aims to help...
Read more >
Modules (External projects) - Zephyr Project Documentation
The following is an example on how to add support the the FOO module. Create the following structure. <MODULE_EXT_ROOT> └── modules ├── ...
Read more >
Develop Kernel Code for GKI | Android Open Source Project
Upstream Linux actively discourages support for building out-of-tree modules. This is a reasonable position given that Linux maintainers ...
Read more >
benefits of out-of-tree development - LWN.net
really expect to be able to manage many out of tree drivers without a ... extensive support and coverage of Kconfig and the...
Read more >
Grant: GNU Radio Usability Enhancements
Installation of GNU Radio and out-of-tree modules (OOTs); Documentation; Ongoing software maintenance and support; GNU Radio Companion (GRC).
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found