diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2016-08-09 10:25:22 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2016-08-09 10:40:44 +1000 |
commit | e0b36d6da54f06e6fda14c7d1239cbb8c664920e (patch) | |
tree | 2b4e04ade1f88bc02ca48594d028d2313c1357ed /doc | |
parent | ae30353a739cf059a987cdc5b41173212bd66500 (diff) |
doc: add build instructions
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'doc')
-rw-r--r-- | doc/Makefile.am | 1 | ||||
-rw-r--r-- | doc/building.dox | 75 | ||||
-rw-r--r-- | doc/page-hierarchy.dox | 1 |
3 files changed, 77 insertions, 0 deletions
diff --git a/doc/Makefile.am b/doc/Makefile.am index 9341489..e033229 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -8,6 +8,7 @@ header_files = \ $(top_srcdir)/README.txt \ $(srcdir)/absolute-axes.dox \ $(srcdir)/absolute-coordinate-ranges.dox \ + $(srcdir)/building.dox \ $(srcdir)/clickpad-softbuttons.dox \ $(srcdir)/device-configuration-via-udev.dox \ $(srcdir)/faqs.dox \ diff --git a/doc/building.dox b/doc/building.dox new file mode 100644 index 0000000..5b4ca52 --- /dev/null +++ b/doc/building.dox @@ -0,0 +1,75 @@ +/** +@page building_libinput libinput build instructions + +Instructions on how to build libinput and its tools and how to build against +libinput. + +@section building Building libinput + +libinput uses automake, a build is usually the following three-step process + +@code +$> git clone git://anongit.freedesktop.org/git/wayland/libinput +$> cd libinput +$> ./autogen.sh --prefix=/usr --libdir=/usr/lib64 +$> make +$> sudo make install +@endcode + +@note On Debian-based distributions including Ubuntu and its derivatives skip the +```--libdir=/usr/lib64``` argument. + +A description on how to fix "No package 'foo' found" errors during the +configure stage is available +<a href="https://who-t.blogspot.com.au/2014/05/configure-fails-with-no-package-foo.html">in +this blog post here</a>. + +@subsection building_libwacom Building without libwacom + +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. + +@code +$> ./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. + +@subsection buildling_event-gui Building the graphical helper tool + +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. + +@code +$> ./autogen.sh --enable-event-gui --prefix=/usr --libdir=/usr/lib64 +@endcode + +As usual, any missing library headers will then trigger an error and can be +addressed one-by-one. + + +@section building_against Building against libinput + +libinput provides a +[pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/) file. +Software that uses libinput should use pkg-config and the +`PKG_CHECK_MODULES` autoconf macro. +Otherwise, the most rudimentary way to compile and link a program against +libinput is: + + gcc -o myprogram myprogram.c `pkg-config --cflags --libs libinput` + +For further information on using pkgconfig see the pkg-config documentation. + +*/ + diff --git a/doc/page-hierarchy.dox b/doc/page-hierarchy.dox index 8455fca..4be6109 100644 --- a/doc/page-hierarchy.dox +++ b/doc/page-hierarchy.dox @@ -35,6 +35,7 @@ @page developers Developers +- @subpage building_libinput - @subpage test-suite - @subpage tools - @subpage pointer-acceleration |