Wraptool is a helper tool that allows you to manage your source dependencies using the WrapDB database. It gives you all things you would expect, such as installing and updating dependencies. The wrap tool works on all platforms, the only limitation is that the wrap definition works on your target platform. If you find some Wraps that don't work, please file bugs or, even better, patches.
All code examples here assume that you are running the commands in your top level source directory. Lines that start with the `$` mark are commands to type.
The first number is the upstream release version, in this case `9a`. The second number is the Wrap revision number. They don't relate to anything in particular, but larger numbers imply newer releases. You should always use the newest available release.
## Installing dependencies
Installing dependencies is just as straightforward. First just create the `subprojects` directory at the top of your source tree and issue the install command.
Meson will only search for subprojects from the top level `subprojects` directory. If you have subprojects that themselves have subprojects, you must transfer them to the top level. This can be done by going to your source root and issuing a promotion command.
meson wrap promote projname
This will cause Meson to go through your entire project tree, find an embedded subproject and copy it to the top level.
If there are multiple embedded copies of a subproject, Meson will not try to guess which one you want. Instead it will print all the possibilities. You can then manually select which one to promote by writing it out fully.