aboutsummaryrefslogtreecommitdiffstats
path: root/meson/docs/markdown/Using-wraptool.md
diff options
context:
space:
mode:
Diffstat (limited to 'meson/docs/markdown/Using-wraptool.md')
-rw-r--r--meson/docs/markdown/Using-wraptool.md78
1 files changed, 78 insertions, 0 deletions
diff --git a/meson/docs/markdown/Using-wraptool.md b/meson/docs/markdown/Using-wraptool.md
new file mode 100644
index 000000000..ffa8309cf
--- /dev/null
+++ b/meson/docs/markdown/Using-wraptool.md
@@ -0,0 +1,78 @@
+# 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`.