make the API functional
This would be a lot of work and be backwards incompatible, but I find the current API unreasonable as the build system for and implemented in an FP language. It is very unclear when options get enabled and what rules are added when.
This change does not need to be backwards incompatible, we can provide another API than Ocamlbuild_plugin and what signatures.mli exposes. It could be called Ocamlbuild_library for example. It does require to change the implementation to avoid the global references currently used to store ocamlbuild's state, but then the current interface can easily be supported by global references (in _plugin) to reified state values.
I'm of course all for this change, but this is not high in my personal TODO list of problems to solve really soon. I would be glad to help interested contributors go in this direction (we can convert code incrementally, module by module, no need to do one sweeping change) by advice, clarifications and code review.
Was closing this intentional?
Of course not, this comes from the merge of the manual-ocamlbuild commits, which used different issue numbers. Thanks!
(Manual-ocamlbuild had 37 issues, so I'll check for such conflicts among the 37 first ocamlbuild issues.)