summaryrefslogtreecommitdiff
path: root/doc/building.dox
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2017-05-04 13:30:02 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2017-05-04 13:50:06 +1000
commit96fa4266d0a660df4d3daffbc148801b7982143d (patch)
tree1c9ba3cb9873a60b2db59686ed76bd2f4675876c /doc/building.dox
parent4f4bfae2a143f7310f1cdca62457d7e9a531259d (diff)
doc: add build instructions for meson
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'doc/building.dox')
-rw-r--r--doc/building.dox55
1 files changed, 51 insertions, 4 deletions
diff --git a/doc/building.dox b/doc/building.dox
index 94ea222c..4837d008 100644
--- a/doc/building.dox
+++ b/doc/building.dox
@@ -12,9 +12,38 @@ see @ref reverting_install to revert to the previous state.
@section building Building libinput
-libinput uses automake, a build is usually the three-step process below.
-A successful build requires the @ref building_dependencies to be installed
-at configure time.
+libinput uses [meson](https://www.mesonbuild.com) and
+[ninja](https://www.ninja-build.org). A build is usually the three-step
+process below. A successful build requires the @ref
+building_dependencies to be installed before running meson.
+
+@code
+$> git clone git://anongit.freedesktop.org/git/wayland/libinput
+$> cd libinput
+$> meson --prefix=/usr builddir/
+$> ninja -C builddir/
+$> sudo ninja -C builddir/ install
+$> sudo udevadm hwdb --update
+@endcode
+
+The ```prefix``` option or other options can be changed later with the
+```mesonconf``` command.
+
+@code
+$> mesonconf builddir/ -Dprefix=/some/other/prefix
+$> ninja -C builddir
+$> sudo ninja -C builddir/ install
+@endcode
+
+@note On Fedora, use ```ninja-build``` instead of ```ninja```. We recommend
+setting up a shell alias.
+
+@subsection building_autotools Building with automake
+
+libinput currently also provides the autotools build system, but this will
+be removed in future libinput versions. A build with automake is usually the
+three-step process below. A successful build requires the @ref
+building_dependencies to be installed at configure time.
@code
$> git clone git://anongit.freedesktop.org/git/wayland/libinput
@@ -53,6 +82,12 @@ usually harmless. To definitely remove all files, run the following command
from the libinput source directory:
@code
+$> sudo ninja -C builddir/ uninstall
+@endcode
+
+or when using autotools:
+
+@code
$> sudo make uninstall
# WARNING: Do not restart the computer/X/the Wayland compositor after make
# uninstall, reinstall the system package immediately!
@@ -110,7 +145,13 @@ for instructions on how to fix it.
libwacom is required by libinput's tablet code to gather additional
information about tablets that is not available from the kernel device
itself. libwacom is required by default but can be skipped when @ref
-building with the ``--disable-libwacom`` argument.
+building.
+
+@code
+$> meson --prefix=/usr -Dlibwacom=false builddir
+@endcode
+
+or when building with autotools:
@code
$> ./autogen.sh --disable-libwacom --prefix=/usr --libdir=/usr/lib64
@@ -133,6 +174,12 @@ If the tool is not required, use the ``--disable-event-gui`` argument
when @ref building.
@code
+$> meson --prefix=/usr -Devent-gui=false builddir
+@endcode
+
+or when building with autotools:
+
+@code
$> ./autogen.sh --disable-event-gui --prefix=/usr --libdir=/usr/lib64
@endcode