| # Using wraptool |
| |
| Wraptool is a subcommand of Meson 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. |
| |
| ## Simple querying |
| |
| The simplest operation to do is to query the list of packages |
| available. To list them all issue the following command: |
| |
| $ meson wrap list |
| box2d |
| enet |
| gtest |
| libjpeg |
| liblzma |
| libpng |
| libxml2 |
| lua |
| ogg |
| sqlite |
| vorbis |
| zlib |
| |
| Usually you want to search for a specific package. This can be done |
| with the `search` command: |
| |
| $ meson wrap search jpeg |
| libjpeg |
| |
| To determine which versions of libjpeg are available to install, issue |
| the `info` command: |
| |
| $ meson wrap info libjpeg |
| Available versions of libjpeg: |
| 9a 2 |
| |
| 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 wrap install libjpeg |
| Installed libjpeg branch 9a revision 2 |
| |
| Now you can issue a `subproject('libjpeg')` in your `meson.build` file |
| to use it. |
| |
| To check if your projects are up to date you can issue the `status` command. |
| |
| $ meson wrap status |
| Subproject status |
| libjpeg up to date. Branch 9a, revision 2. |
| zlib not up to date. Have 1.2.8 2, but 1.2.8 4 is available. |
| |
| In this case `zlib` has a newer release available. Updating it is |
| straightforward: |
| |
| $ meson wrap update zlib |
| Updated zlib to branch 1.2.8 revision 4 |
| |
| Wraptool can do other things besides these. Documentation for these |
| can be found in the command line help, which can be accessed by |
| `meson wrap --help`. |