From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 3 of 5 v3] manual: add documentation for kconfig-package
Date: Fri, 1 Aug 2014 22:50:50 +0200 [thread overview]
Message-ID: <20140801205050.GD3778@free.fr> (raw)
In-Reply-To: <fa937f090303aa695ae6.1406922825@localhost>
Thomas, All,
On 2014-08-01 21:53 +0200, Thomas De Schampheleire spake thusly:
> This patch adds documentation for the new kconfig-package infrastructure to
> the manual.
>
> Note that due to the simplicity of the infrastructure, the documentation
> is not split in a 'tutorial' and a 'reference', like for the other
> infrastructures. Instead, the usage is described in one section.
>
> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Regards,
Yann E. MORIN.
> ---
> v3: update based on Yann's comments
> v2: update after move to a real infrastructure
>
> docs/manual/adding-packages-kconfig.txt | 56 +++++++++++++++++++++++++++++
> docs/manual/adding-packages.txt | 2 +
> 2 files changed, 58 insertions(+), 0 deletions(-)
>
> diff -r e56a7788b2d0 -r fa937f090303 docs/manual/adding-packages-kconfig.txt
> --- /dev/null Thu Jan 01 00:00:00 1970 +0000
> +++ b/docs/manual/adding-packages-kconfig.txt Thu Jul 24 20:54:50 2014 +0200
> @@ -0,0 +1,56 @@
> +// -*- mode:doc; -*-
> +// vim: set syntax=asciidoc:
> +
> +=== Infrastructure for packages using kconfig for configuration files
> +
> +A popular way for a software package to handle user-specified
> +configuration is +kconfig+. Among others, it is used by the Linux
> +kernel, Busybox, and Buildroot itself. The presence of a .config file
> +and a +menuconfig+ target are two well-known symptoms of kconfig being
> +used.
> +
> +Buildroot features an infrastructure for packages that use kconfig for
> +their configuration. This infrastructure provides the necessary logic to
> +expose the package's +menuconfig+ target as +foo-menuconfig+ in
> +Buildroot, and to handle the copying back and forth of the configuration
> +file in a correct way.
> +
> +The +kconfig-package+ infrastructure is based on the +generic-package+
> +infrastructure. All variables supported by +generic-package+ are
> +available in +kconfig-package+ as well. See
> +xref:generic-package-reference[] for more details.
> +
> +In order to use the +kconfig-package+ infrastructure for a Buildroot
> +package, the minimally required lines in the +.mk+ file, in addition to
> +the variables required by the +generic-package+ infrastructure, are:
> +
> +------------------------------
> +FOO_KCONFIG_FILE = reference-to-source-configuration-file
> +
> +$(eval $(kconfig-package))
> +------------------------------
> +
> +This snippet creates the following make targets:
> +
> +* +foo-menuconfig+, which calls the package's +menuconfig+ target
> +
> +* +foo-update-config+, which copies back the configuration to the source
> + configuration file.
> +
> +and ensures that the source configuration file is copied to the build
> +directory at the right moment.
> +
> +In addition to these minimally required lines, several optional variables can
> +be set to suit the needs of the package under consideration:
> +
> +* +FOO_KCONFIG_EDITORS+: a space-separated list of kconfig editors to
> + support, for example 'menuconfig xconfig'. By default, 'menuconfig'.
> +
> +* +FOO_KCONFIG_OPT+: extra options to pass when calling the kconfig
> + ediftors. This may need to include '$(FOO_MAKE_OPT)', for example. By
> + default, empty.
> +
> +* +FOO_KCONFIG_FIXUP_CMDS+: a list of shell commands needed to fixup the
> + configuration file after copying it or running a kconfig editor. Such
> + commands may be needed to ensure a configuration consistent with other
> + configuration of Buildroot, for example. By default, empty.
> diff -r e56a7788b2d0 -r fa937f090303 docs/manual/adding-packages.txt
> --- a/docs/manual/adding-packages.txt Mon Jun 30 21:08:13 2014 +0200
> +++ b/docs/manual/adding-packages.txt Thu Jul 24 20:54:50 2014 +0200
> @@ -25,6 +25,8 @@
>
> include::adding-packages-virtual.txt[]
>
> +include::adding-packages-kconfig.txt[]
> +
> include::adding-packages-hooks.txt[]
>
> include::adding-packages-gettext.txt[]
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
next prev parent reply other threads:[~2014-08-01 20:50 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-01 19:53 [Buildroot] [PATCH 0 of 5 v3] Introduction of kconfig-package Thomas De Schampheleire
2014-08-01 19:53 ` [Buildroot] [PATCH 1 of 5 v3] uclibc: fixup config before calling menuconfig Thomas De Schampheleire
2014-08-03 7:50 ` Yann E. MORIN
2014-08-01 19:53 ` [Buildroot] [PATCH 2 of 5 v3] infra: introduce a kconfig-package infrastructure Thomas De Schampheleire
2014-08-03 8:14 ` Yann E. MORIN
2014-08-01 19:53 ` [Buildroot] [PATCH 3 of 5 v3] manual: add documentation for kconfig-package Thomas De Schampheleire
2014-08-01 20:50 ` Yann E. MORIN [this message]
2014-08-01 19:53 ` [Buildroot] [PATCH 4 of 5 v3] uclibc: convert to kconfig-package infrastructure Thomas De Schampheleire
2014-08-03 8:22 ` Yann E. MORIN
2014-08-01 19:53 ` [Buildroot] [PATCH 5 of 5 v3] busybox: " Thomas De Schampheleire
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=20140801205050.GD3778@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox