Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing modules in some libraries #141

Open
jonludlam opened this issue Mar 13, 2024 · 1 comment
Open

Missing modules in some libraries #141

jonludlam opened this issue Mar 13, 2024 · 1 comment

Comments

@jonludlam
Copy link
Collaborator

A (relatively minor) consequence of the switch to using META/cma examination rather than using the dune-package metadata is that if there are 'modules without implementation' in a library, then these are no longer listed on the main documentation page (nor the sidebar). As an example see the tyxml docs. The tyxml.functor library has a dune file specifying that a few modules have no implementation, and for these dune installs the relevant cmi files but there are no implementation modules linked into the cma/cmxa files. OCaml is happy with this as the entire installed directory is added to the include path so it picks up all the cmis, but the problem is that voodoo is deciding which modules belong to which library by examining the cma files, thus the modules that dune considers to be part of the library are excluded.

The docs for the modules are actually built but they are 'orphaned', for example Svg_sigs.T.

One heuristic solution is that if there's only one library in the path, then we can assume all cmi files are associated with that library. This will work for all dune projects as dune enforces the one-lib-per-path constraint.

@sabine
Copy link
Collaborator

sabine commented Apr 2, 2024

Thanks @jonludlam. It makes sense to apply this fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants