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 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.