Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Arnout Vandecappelle <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 39/84 RFC] docs/manual: use 'menuconfig' when there are more than 5 sub-options
Date: Thu, 31 Dec 2015 01:21:19 +0100	[thread overview]
Message-ID: <568474FF.1080701@mind.be> (raw)
In-Reply-To: <b99c60174e89c794c76df7cb0c2bdd79ddace67c.1451076704.git.yann.morin.1998@free.fr>

On 25-12-15 22:25, Yann E. MORIN wrote:
> When a package has a lot of sub-options, the layout in menuconfig (the
> mconf UI) is quickly getting messy.
> 
> Using 'menuconfig' (the kconfig keyword) will automatically create a
> sub-menu, which provides a cleaner layout.
> 
> Document that, with 5 or more options, a 'menuconfig' should be used
> instead of a simple 'config'.
> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> 
> ---
> Note: 5 is arbitrary. We could tweak it to a bit more, but on small
> terminals (the smallest supported is 80x24), there are only 10 lines
> for the menu entries, so 5 looks like a good compromise. YMMV.
> ---
>  docs/manual/adding-packages-directory.txt | 28 ++++++++++++++++++++++++++++
>  1 file changed, 28 insertions(+)
> 
> diff --git a/docs/manual/adding-packages-directory.txt b/docs/manual/adding-packages-directory.txt
> index 2b9e714..df3011b 100644
> --- a/docs/manual/adding-packages-directory.txt
> +++ b/docs/manual/adding-packages-directory.txt
> @@ -79,6 +79,34 @@ The sub-options will be cleanly indented below the main symbol when it
>  is enabled, and will be properly hidden when the symbol is disabled.
>  
>  
> +If your package has 5 or more options, then you should use +menuconfig+
> +to define the main symbol; this will ensure that all the package's
> +sub-options are automaticaly classified in a sub-menu:
> +
> +---------------------------
> +menuconfig BR2_PACKAGE_LIBFOO
> +	bool "libfoo"
> +	help
> +	  This is a comment that explains what libfoo is.
> +
> +	  http://foosoftware.org/libfoo/
> +
> +if BR2_PACKAGE_LIBFOO
> +
> +config BR2_PACKAGE_LIBFOO_BAR
> +	bool "bar support"
> +	help
> +	  This is a comment that briefly explains what
> +	  bar support is, if it's not obvious.

 Again the wrapping.


 Regards,
 Arnout

> +
> +endif # BR2_PACKAGE_LIBFOO
> +---------------------------
> +
> +In any case, ensure that there is no +comment+ or other symbol in-between
> +the main symbol (be it +config+ or +menuconfig+) and the +if+ clause,
> +otherwise 'Kconfig' will not properly classify the sub-options.
> +
> +
>  Finally you have to add your new +libfoo/Config.in+ to
>  +package/Config.in+ (or in a category subdirectory if you decided to
>  put your package in one of the existing categories). The files
> 


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

  reply	other threads:[~2015-12-31  0:21 UTC|newest]

Thread overview: 134+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-25 21:25 [Buildroot] [PATCH 0/84 RFC] all: use 'menuconfig' to group sub-options (branch yem/menuconfig) Yann E. MORIN
2015-12-25 21:24 ` [Buildroot] [PATCH 01/84 RFC] package/alsa-lib: move comment around, to keep proper indentation Yann E. MORIN
2015-12-25 21:24 ` [Buildroot] [PATCH 02/84 RFC] package/gstreamer: " Yann E. MORIN
2015-12-25 21:24 ` [Buildroot] [PATCH 03/84 RFC] package/gstreamer1: " Yann E. MORIN
2015-12-25 21:24 ` [Buildroot] [PATCH 04/84 RFC] package/nodejs: " Yann E. MORIN
2015-12-25 21:24 ` [Buildroot] [PATCH 05/84 RFC] package/tcl: " Yann E. MORIN
2015-12-25 21:24 ` [Buildroot] [PATCH 06/84 RFC] package/udpcast: " Yann E. MORIN
2015-12-25 21:24 ` [Buildroot] [PATCH 07/84 RFC] package/alsa-lib: use 'menuconfig' instad of 'config'+'menu' Yann E. MORIN
2015-12-25 21:24 ` [Buildroot] [PATCH 08/84 RFC] package/alsa-utils: use 'menuconfig' instead " Yann E. MORIN
2015-12-30 23:03   ` Arnout Vandecappelle
2015-12-30 23:09     ` Yann E. MORIN
2015-12-25 21:24 ` [Buildroot] [PATCH 09/84 RFC] package/angularjs: use 'menuconfig' instad " Yann E. MORIN
2015-12-25 21:24 ` [Buildroot] [PATCH 10/84 RFC] package/angularjs: simplify modules selection Yann E. MORIN
2015-12-30 23:27   ` Arnout Vandecappelle
2015-12-31 16:33     ` Yann E. MORIN
2015-12-25 21:24 ` [Buildroot] [PATCH 11/84 RFC] package/collectd: use 'menuconfig' instead of 'config'+'menu' Yann E. MORIN
2015-12-25 21:24 ` [Buildroot] [PATCH 12/84 RFC] package/gd: use 'menuconfig' instad " Yann E. MORIN
2015-12-30 23:32   ` Arnout Vandecappelle
2015-12-25 21:24 ` [Buildroot] [PATCH 13/84 RFC] package/gpsd: use 'menuconfig' instead " Yann E. MORIN
2015-12-25 21:24 ` [Buildroot] [PATCH 14/84 RFC] package/jquery: include external plugins from jquery's Config.in Yann E. MORIN
2015-12-30 23:45   ` Arnout Vandecappelle
2015-12-31 17:17     ` Yann E. MORIN
2016-01-02  0:21       ` Arnout Vandecappelle
2016-01-02  0:22   ` Arnout Vandecappelle
2015-12-25 21:24 ` [Buildroot] [PATCH 15/84 RFC] package/libdrm: move tests programs to the bottom Yann E. MORIN
2015-12-25 21:24 ` [Buildroot] [PATCH 16/84 RFC] package/libdrm: use 'menuconfig' instad of 'config'+'menu' Yann E. MORIN
2015-12-30 23:46   ` Arnout Vandecappelle
2015-12-25 21:24 ` [Buildroot] [PATCH 17/84 RFC] package/mono: use 'menuconfig' instead " Yann E. MORIN
2015-12-30 23:48   ` Arnout Vandecappelle
2016-01-02  0:25   ` Arnout Vandecappelle
2015-12-25 21:24 ` [Buildroot] [PATCH 18/84 RFC] package/ncftp: use 'menuconfig' instad " Yann E. MORIN
2015-12-30 23:48   ` Arnout Vandecappelle
2015-12-25 21:24 ` [Buildroot] [PATCH 19/84 RFC] package/nfs-utils: use 'menuconfig' instead " Yann E. MORIN
2015-12-25 21:24 ` [Buildroot] [PATCH 20/84 RFC] package/nodejs: " Yann E. MORIN
2015-12-30 23:49   ` Arnout Vandecappelle
2015-12-25 21:24 ` [Buildroot] [PATCH 21/84 RFC] package/ola: " Yann E. MORIN
2015-12-25 21:24 ` [Buildroot] [PATCH 22/84 RFC] package/perl: " Yann E. MORIN
2015-12-30 23:53   ` Arnout Vandecappelle
2016-01-02  0:33   ` Arnout Vandecappelle
2016-01-02 10:10     ` Yann E. MORIN
2015-12-25 21:24 ` [Buildroot] [PATCH 23/84 RFC] package/php: move list of extensions after interface selection Yann E. MORIN
2015-12-25 21:24 ` [Buildroot] [PATCH 24/84 RFC] package/php: use 'menuconfig' instad of 'config'+'menu' Yann E. MORIN
2015-12-30 23:57   ` Arnout Vandecappelle
2016-01-02  0:48   ` Arnout Vandecappelle
2016-01-02 10:28     ` Yann E. MORIN
2015-12-25 21:24 ` [Buildroot] [PATCH 25/84 RFC] package/python: " Yann E. MORIN
2015-12-25 21:24 ` [Buildroot] [PATCH 26/84 RFC] package/python3: " Yann E. MORIN
2015-12-25 21:24 ` [Buildroot] [PATCH 27/84 RFC] package/python{, 3}: move inclusion of external python modules Yann E. MORIN
2015-12-30 23:59   ` Arnout Vandecappelle
2016-01-02  0:54   ` Arnout Vandecappelle
2015-12-25 21:24 ` [Buildroot] [PATCH 28/84 RFC] package/sdl_image: use 'menuconfig' instead of 'config'+'menu' Yann E. MORIN
2015-12-25 21:24 ` [Buildroot] [PATCH 29/84 RFC] package/tcl: use 'menuconfig' instad " Yann E. MORIN
2015-12-31  0:03   ` Arnout Vandecappelle
2016-01-02  0:55   ` Arnout Vandecappelle
2015-12-25 21:24 ` [Buildroot] [PATCH 30/84 RFC] package/tiff: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 31/84 RFC] package/udpcast: " Yann E. MORIN
2015-12-31  0:08   ` Arnout Vandecappelle
2015-12-31 17:20     ` Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 32/84 RFC] package/gstreamer: include plugins from gstreamer's real Config.in Yann E. MORIN
2015-12-31  0:12   ` Arnout Vandecappelle
2015-12-31 17:23     ` Yann E. MORIN
2016-01-02  1:21       ` Arnout Vandecappelle
2016-01-02 10:34         ` Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 33/84 RFC] package/gstreamer: use 'menuconfig' instead of 'config'+'menu' Yann E. MORIN
2015-12-31  0:14   ` Arnout Vandecappelle
2015-12-31 17:25     ` Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 34/84 RFC] package/gstreamer1: include plugins from gstreamer1's real Config.in Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 35/84 RFC] package/gstreamer1: use 'menuconfig' instead of 'config'+'menu' Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 36/84 RFC] docs/manual: slightly compactify a paragraph Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 37/84 RFC] docs/manual: add ordering of kconfig options' attributes Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 38/84 RFC] docs/manual: add example about sub-options Yann E. MORIN
2015-12-31  0:17   ` Arnout Vandecappelle
2015-12-31 17:26     ` Yann E. MORIN
2016-01-02  1:23       ` Arnout Vandecappelle
2016-01-02 10:35         ` Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 39/84 RFC] docs/manual: use 'menuconfig' when there are more than 5 sub-options Yann E. MORIN
2015-12-31  0:21   ` Arnout Vandecappelle [this message]
2015-12-25 21:25 ` [Buildroot] [PATCH 40/84 RFC] package/valgrind: use 'menuconfig' Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 41/84 RFC] package/e2fsprogs: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 42/84 RFC] package/mtd: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 43/84 RFC] package/squashfs: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 44/84 RFC] package/dejavu: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 45/84 RFC] package/google-material-design-icons: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 46/84 RFC] package/directfb: " Yann E. MORIN
2016-01-02  1:30   ` Arnout Vandecappelle
2016-01-02 11:03     ` Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 47/84 RFC] package/efl: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 48/84 RFC] package/sdl: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 49/84 RFC] package/sdl: include SDL external libraries from sdl's Config.in Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 50/84 RFC] package/sdl_*: remove redundant dependency Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 51/84 RFC] package/lm-sensors: use 'menuconfig' Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 52/84 RFC] package/openocd: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 53/84 RFC] package/erlang: include Erlang libraries from erlang's Config.in Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 54/84 RFC] package/lua{, jit}: move inclusion of external libraries/modules Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 55/84 RFC] package/sqlite: use 'menuconfig' Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 56/84 RFC] package/cairo: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 57/84 RFC] package/imlib2: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 58/84 RFC] package/libiio: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 59/84 RFC] package/flot: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 60/84 RFC] package/boost: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 61/84 RFC] package/poco: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 62/84 RFC] package/ncurses: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 63/84 RFC] package/dovecot: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 64/84 RFC] package/gnuradio: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 65/84 RFC] package/gnuradio: split long omment Yann E. MORIN
2016-01-02 21:44   ` Arnout Vandecappelle
2016-01-11  7:42   ` gwenhael.goavec
2015-12-25 21:25 ` [Buildroot] [PATCH 66/84 RFC] package/connman: use 'menuconfig' Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 67/84 RFC] package/dnsmasq: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 68/84 RFC] package/dropbear: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 69/84 RFC] package/igh-ethercat: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 70/84 RFC] package/ipsec-tools: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 71/84 RFC] package/lftp: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 72/84 RFC] package/lighttpd: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 73/84 RFC] package/ndisc6: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 74/84 RFC] package/netsnmp: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 75/84 RFC] package/ntp: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 76/84 RFC] package/openobex: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 77/84 RFC] package/quagga: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 78/84 RFC] package/transmission: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 79/84 RFC] package/wpa-supplicant: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 80/84 RFC] boot/at91bootstrap3: " Yann E. MORIN
2016-01-02 21:56   ` Arnout Vandecappelle
2015-12-25 21:25 ` [Buildroot] [PATCH 81/84 RFC] boot/barebox: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 82/84 RFC] boot/grub: " Yann E. MORIN
2016-01-02 22:09   ` Arnout Vandecappelle
2015-12-25 21:25 ` [Buildroot] [PATCH 83/84 RFC] boot/mxs-bootlets: " Yann E. MORIN
2015-12-25 21:25 ` [Buildroot] [PATCH 84/84 RFC] boot/uboot: " Yann E. MORIN
2015-12-28 16:59 ` [Buildroot] [PATCH 0/84 RFC] all: use 'menuconfig' to group sub-options (branch yem/menuconfig) Thomas Petazzoni
2015-12-31  0:23 ` Arnout Vandecappelle
2015-12-31 17:28   ` Yann E. MORIN
2016-01-02  1:47     ` Arnout Vandecappelle
2016-01-02 11:09       ` Yann E. MORIN
2016-01-02 22:11         ` Arnout Vandecappelle

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=568474FF.1080701@mind.be \
    --to=arnout@mind.be \
    --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