All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 01/11 v2] package-infra: add helper to build kernel modules
Date: Fri, 12 Jun 2015 19:46:20 +0200	[thread overview]
Message-ID: <20150612174620.GA3583@free.fr> (raw)
In-Reply-To: <557A0F36.2060208@mind.be>

Arnout, All,

On 2015-06-12 00:44 +0200, Arnout Vandecappelle spake thusly:
> On 06/10/15 21:22, Yann E. MORIN wrote:
> > The Linux kernel offers a nice and easy-to-use infra to build
> > out-of-tree kernel modules.
[--SNIP--]
> > diff --git a/package/pkg-kernel-module.mk b/package/pkg-kernel-module.mk
> > new file mode 100644
> > index 0000000..608c9e6
> > --- /dev/null
> > +++ b/package/pkg-kernel-module.mk
> > @@ -0,0 +1,89 @@
> > +################################################################################
> > +# kernel module infrastructure for building Linux kernel modules
> > +#
> > +# This file implements an infrastructure that eases development of package
> > +# .mk files for out-of-tree Linux kernel modules. It should be used for all
> > +# packages that build a Linux kernel module using the kernel's out-of-tree
> > +# buildsystem, unless they use a complex custom build-system.
> 
>  buildsystem, build-system. What about consistently choosing "build system"? :-)

I think we've settled for "buildsystem" in other places, so I'll stick
to that (and fix here).

> > +# In terms of implementation, this infrastructure relies on another package
> > +# infrastructure, and only defines post-build and post-install hooks, so that
> > +# packages can both build user-space (with any of the other *-package infra)
> > +# and/or build kernel modules.
> 
> # The kernel-module infrastructure requires the packages that use it to also
> # include another package infrastructure. kernel-module only defines post-build

s/include/use/ because we're not 'including' pkg infras, we're not even
calling them, we're evaluating them. So I'd still word that as 'use' if
you don't mind. ;-)

> # and post-install hooks. This allows the package to build both kernel modules
> # and/or user-space components (with any of the other *-package infra).

Otherwise, OK, it's simpler and more explixit thn what I wrote.

> > +#
> > +# As such, it is to be used in conjunction with another *-package infra,
> > +# like so:
> > +#
> > +#   $(eval $(kernel-module))
> > +#   $(eval $(generic-package))
> > +#
> > +# Note: if the caller needs access to the kernel modules (either after they
> > +# are built or after they are installed), it will have to define its own
> > +# post-build/install hooks after calling kernel-module, but before calling
> 
>  after -> *after*

OK. I guess ditto for: before -> *before* , no?

> > +# the other *-package infra, like so:
> > +#
> > +#   $(eval $(kernel-module))
> > +#   define FOO_MOD_TWEAK
> > +#   	# do something
> > +#   endef
> > +#   FOO_POST_BUILD_HOOKS += FOO_MOD_TWEAK
> > +#   $(eval $(generic-package))
> > +#
> > +# Note: this infra does not check that the kernel is enabled; it is expected
> > +# to be enforced at the Kconfig level with proper 'depends on'.
> > +################################################################################
> > +
> > +################################################################################
> > +# inner-kernel-module -- generates the make targets needed to support building
> > +# a kernel module
> > +#
> > +#  argument 1 is the lowercase package name
> 
>  Is there any reason to keep this, since it's not used?

Well, I wanted to keep it as much aligned to existing infras as
possible, even though we're not using it.

> > +#  argument 2 is the uppercase package name
> > +################################################################################
> > +
> > +define inner-kernel-module
> > +
> > +# The kernel must be built first.
> > +$(2)_DEPENDENCIES += linux
> > +
> > +# This is only defined in some infrastructures (e.g. autotools, cmake), but
> > +# not in others (generic). So define it if not already defined.
>                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>                               So define it here as well.

OK.

Thanks! :-)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

  reply	other threads:[~2015-06-12 17:46 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-10 19:22 [Buildroot] [PATCH 0/11 v2] pkg-kernel-module: new infra to ease building kernel modules (branch yem/kernel-modules) Yann E. MORIN
2015-06-10 19:22 ` [Buildroot] [PATCH 01/11 v2] package-infra: add helper to build kernel modules Yann E. MORIN
2015-06-10 21:08   ` rdkehn at yahoo.com
2015-06-11 18:05     ` Yann E. MORIN
2015-06-11 22:44   ` Arnout Vandecappelle
2015-06-12 17:46     ` Yann E. MORIN [this message]
2015-06-12 22:52       ` Arnout Vandecappelle
2015-06-10 19:22 ` [Buildroot] [PATCH 02/11 v2] docs/manual: add kernel-module Yann E. MORIN
2015-06-11  7:32   ` Jeremy Rosen
2015-06-11 18:06     ` Yann E. MORIN
2015-06-12  6:54       ` Jeremy Rosen
2015-06-10 19:22 ` [Buildroot] [PATCH 03/11 v2] package/lttng-modules: use kernel-module helper Yann E. MORIN
2015-06-11 22:44   ` Arnout Vandecappelle
2015-06-10 19:22 ` [Buildroot] [PATCH 04/11 v2] package/igh-ethercat: " Yann E. MORIN
2015-06-11 22:51   ` Arnout Vandecappelle
2015-06-10 19:22 ` [Buildroot] [PATCH 05/11 v2] package/ktap: " Yann E. MORIN
2015-06-11 22:53   ` Arnout Vandecappelle
2015-06-10 19:22 ` [Buildroot] [PATCH 06/11 v2] package/cryptodev-linux: use the " Yann E. MORIN
2015-06-11 23:02   ` Arnout Vandecappelle
2015-06-12 20:48     ` Yann E. MORIN
2015-06-10 19:22 ` [Buildroot] [PATCH 07/11 v2] package/ocf-linux: use " Yann E. MORIN
2015-06-10 19:22 ` [Buildroot] [PATCH 08/11 v2] package/on2-8170-modules: " Yann E. MORIN
2015-06-11 23:04   ` Arnout Vandecappelle
2015-06-10 19:22 ` [Buildroot] [PATCH 09/11 v2] package/owl-linux: " Yann E. MORIN
2015-06-11 23:13   ` Arnout Vandecappelle
2015-06-12 17:55     ` Yann E. MORIN
2015-06-12 23:19       ` Arnout Vandecappelle
2015-06-10 19:22 ` [Buildroot] [PATCH 10/11 v2] package/simicsfs: " Yann E. MORIN
2015-06-11 23:13   ` Arnout Vandecappelle
2015-06-10 19:22 ` [Buildroot] [PATCH 11/11 v2] package/sysdig: " Yann E. MORIN
2015-06-11 18:03 ` [Buildroot] [PATCH 0/11 v2] pkg-kernel-module: new infra to ease building kernel modules (branch yem/kernel-modules) Yann E. MORIN
2015-06-11 23:18   ` Arnout Vandecappelle
2015-06-12 17:47     ` Yann E. MORIN

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150612174620.GA3583@free.fr \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.