aboutsummaryrefslogtreecommitdiff
path: root/doc/guix.texi
diff options
context:
space:
mode:
authorDanny Milosavljevic <dannym@scratchpost.org>2019-04-05 11:41:17 +0200
committerDanny Milosavljevic <dannym@scratchpost.org>2019-04-11 17:50:18 +0200
commitce6312999f20bb8d7e73c29b315747b1f4d184aa (patch)
tree5b7519491a288996ae4185b6ade513b95260eb77 /doc/guix.texi
parent12327d74475d4079065a0f8f5d2491e4679fb53e (diff)
downloadpatches-ce6312999f20bb8d7e73c29b315747b1f4d184aa.tar
patches-ce6312999f20bb8d7e73c29b315747b1f4d184aa.tar.gz
Add (guix build-system linux-module).
* guix/build/linux-module-build-system.scm: New file. * guix/build-system/linux-module.scm: New file. * doc/guix.texi (Build Systems): Document it. * Makefile.am (MODULES): Add them.
Diffstat (limited to 'doc/guix.texi')
-rw-r--r--doc/guix.texi27
1 files changed, 27 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 7dc4e1894a..9be7d9a27b 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -6210,6 +6210,33 @@ is not enabled by default. It can be enabled with @code{#:glib-or-gtk?}.
@end table
@end defvr
+@defvr {Scheme Variable} linux-module-build-system
+@var{linux-module-build-system} allows building Linux kernel modules.
+
+@cindex build phases
+This build system is an extension of @var{gnu-build-system}, but with the
+following phases changed:
+
+@table @code
+
+@item configure
+This phase configures the environment so that the Linux kernel's Makefile
+can be used to build the external kernel module.
+
+@item build
+This phase uses the Linux kernel's Makefile in order to build the external
+kernel module.
+
+@item install
+This phase uses the Linux kernel's Makefile in order to install the external
+kernel module.
+@end table
+
+It is possible and useful to specify the Linux kernel to use for building
+the module (in the "arguments" form of a package using the
+linux-module-build-system, use the key #:linux to specify it).
+@end defvr
+
Lastly, for packages that do not need anything as sophisticated, a
``trivial'' build system is provided. It is trivial in the sense that
it provides basically no support: it does not pull any implicit inputs,