Virtual opam package


This might be a very dumb question, but while I was looking through the installation process of the LLVM bindings for OCaml, I saw that the llvm opam package depends on a package called conf-llvm. I have seen similarly named packages for other projects as well. Since there is not a lot of documentation about conf-llvm on the opam package repository, I looked at the code on GitHub.

Am I right in the assumption that conf-llvm (and by similarity probably other conf-… packages) are used to make sure that external dependencies are met when installing OCaml bindings for these projects? For example, if I were to say opam install llvm, since conf-llvm is listed as a dependency of the llvm package it would install that first, which would try and see if LLVM is already installed on my computer, and otherwise instruct my OS’s package manager to install a suitable version of LLVM?

Thanks for any reply, and again sorry for the probably silly question :stuck_out_tongue:

1 Like

The short answer to your question is yes. You can see the relevant “build” steps for conf-llvm here, and the script to check if it’s installed here.

As for the system package manager part, that depends on depext which was originally an OPAM plugin but is now integrated into OPAM itself.

1 Like