summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2017-03-08 14:36:56 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2017-03-08 14:36:56 +1000
commitbb3d6e000effda685d786e8e2bdd2a3674a40ba4 (patch)
tree2dc79093d4a3a119e4308d78857cd64af67bbc1b /doc
parent957f8ec2f156f44cf08d7af8a2bebc7b114c2b90 (diff)
doc: expand build instructinos
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'doc')
-rw-r--r--doc/building.dox68
1 files changed, 58 insertions, 10 deletions
diff --git a/doc/building.dox b/doc/building.dox
index 45ca7df..7361d15 100644
--- a/doc/building.dox
+++ b/doc/building.dox
@@ -1,12 +1,20 @@
/**
@page building_libinput libinput build instructions
+@tableofcontents
+
Instructions on how to build libinput and its tools and how to build against
libinput.
+The build instruction on this page detail how to overwrite your
+system-provided libinput with one from the git repository, see
+see @ref reverting_install to revert to the previous state.
+
@section building Building libinput
-libinput uses automake, a build is usually the following three-step process
+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.
@code
$> git clone git://anongit.freedesktop.org/git/wayland/libinput
@@ -14,13 +22,52 @@ $> cd libinput
$> ./autogen.sh --prefix=/usr --libdir=/usr/lib64
$> make
$> sudo make install
+$> sudo udevadm hwdb --update
@endcode
@note On Debian-based distributions including Ubuntu and its derivatives skip the
```--libdir=/usr/lib64``` argument.
-A successful build requires the @ref building_dependencies to be installed
-at configure time.
+@subsection verifying_install Verifying the install
+
+To verify the install worked correctly, check that libinput.so.x.x.x is in
+the library path and that all symlinks point to the new library.
+<pre>
+$> ls -l /usr/lib64/libinput.*
+-rwxr-xr-x 1 root root 946 Apr 28 2015 /usr/lib64/libinput.la
+lrwxrwxrwx 1 root root 19 Feb 1 15:12 /usr/lib64/libinput.so -> libinput.so.10.11.2
+lrwxrwxrwx 1 root root 19 Feb 1 15:12 /usr/lib64/libinput.so.10 -> libinput.so.10.11.2
+-rwxr-xr-x 1 root root 204992 Feb 1 15:12 /usr/lib64/libinput.so.10.11.2
+</pre>
+
+The .so installed from git master may have a lower number than the
+system-provided one. In that case, manually adjust the symlinks to point to
+the newly installed .so.x.x.x
+
+@subsection reverting_install Reverting to the system-provided libinput packge
+
+The recommended way to revert to the system install is to use the package
+manager to reinstall the libinput package. In some cases, this may leave
+files in the system (e.g. ```/usr/lib/libinput.la```) but these files are
+usually harmless. To definitely remove all files, run the following command
+from the libinput source directory:
+
+@code
+$> sudo make uninstall
+# WARNING: Do not restart the computer/X/the Wayland compositor after make
+# uninstall, reinstall the system package immediately!
+@endcode
+
+The following commands reinstall the current system package for libinput,
+overwriting manually installed files.
+
+<ul>
+<li><b>Debian/Ubuntu</b> based distributions: ```sudo apt-get install
+--reinstall libinput```</li>
+<li><b>Fedora 22</b> and later: ```sudo dnf reinstall libinput```</li>
+<li><b>SuSE/RHEL/CentOS/Fedora 21</b> and earlier: ```sudo yum reinstall libinput```</li>
+<li><b>Arch</b>: ```sudo packman -S libinput```</li>
+</ul>
@subsection building_dependencies Build dependencies
@@ -60,9 +107,10 @@ building with the ``--disable-libwacom`` argument.
$> ./autogen.sh --disable-libwacom --prefix=/usr --libdir=/usr/lib64
@endcode
-Disabling libwacom is safe to do for environments where full tablet support
-is not required. Note that libinput provides tablet support even without
-libwacom, but some features may be missing or working differently.
+It is not recommended to disable libwacom unless libinput is used in an
+environment where tablet support is not required. libinput provides tablet
+support even without libwacom, but some features may be missing or working
+differently.
@subsection buildling_event-gui Building the graphical helper tool
@@ -70,10 +118,10 @@ Only the commandline @ref tools are installed by distributions. The
@ref event-gui graphical helper tools is only available in the source
repository.
-The graphical helper tool is optional by default and requires extra
-libraries to build. If these libraries are not detected, the tool will not
-be built. If you need the tool for debugging purposes, use the
-``--enable-event-gui`` argument when @ref building.
+The graphical helper tool is optional and requires extra libraries to build.
+If these libraries are not detected, the tool will not be built. If you need
+the tool for debugging purposes, use the ``--enable-event-gui`` argument
+when @ref building.
@code
$> ./autogen.sh --enable-event-gui --prefix=/usr --libdir=/usr/lib64