From: Michal Marek <mmarek@suse.cz>
To: Arnaud Lacombe <lacombar@gmail.com>
Cc: linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org,
Sam Ravnborg <sam@ravnborg.org>
Subject: Re: [RFC] Kconfig library check merge
Date: Fri, 01 Jul 2011 16:11:59 +0200 [thread overview]
Message-ID: <4E0DD5AF.5040604@suse.cz> (raw)
In-Reply-To: <1307387767-9237-1-git-send-email-lacombar@gmail.com>
On 6.6.2011 21:16, Arnaud Lacombe wrote:
> Hi Michal, Sam,
>
> This is a bit a more deep patch. I was fed up of seeing the various library
> check done for kconfig in at least 3 places in the scripts/kconfig/ tree. In
> particular, the QT and GTK checks are far too messy to be in a Makefile, while
> the gettext is pretty trivial and has its own shell script... Moreover, `nconf'
> is missing explicit check for ncurses.
>
> Anyway, here it is. It is a single huge patch _on_purpose_, merely meant to be a
> proof of concept. It is based on the previous serie of trivial fixes.
>
> Most of the changes are made to rationalize the architecture. I thought in the
> beginning of using autoconf/automake, but that'd be overkill. A single shell
> script is far enough to do the job. All the checks only do a bunch of
> verification, and export CFLAGS/LDFLAGS for building the frontend. The script
> itself output a Makefile ready to be included for the top-level Makefile, with
> the necessary check to trigger a re-check if the requested front-end is changed.
>
> Comments welcome!
>
> Regards,
> - Arnaud
>
> Cc: Sam Ravnborg<sam@ravnborg.org>
>
> ---
> scripts/kconfig/Makefile | 160 +++++++------------------
> scripts/kconfig/check.sh | 184 ++++++++++++++++++++++++++--
> scripts/kconfig/lxdialog/check-lxdialog.sh | 84 -------------
> 3 files changed, 216 insertions(+), 212 deletions(-)
>
> diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
> index 84abb2f..f8f853d 100644
> --- a/scripts/kconfig/Makefile
> +++ b/scripts/kconfig/Makefile
> @@ -141,14 +141,6 @@ help:
> @echo ' listnewconfig - List new options'
> @echo ' oldnoconfig - Same as silentoldconfig but set new symbols to n (unset)'
>
> -# lxdialog stuff
> -check-lxdialog := $(srctree)/$(src)/lxdialog/check-lxdialog.sh
> -
> -# Use recursively expanded variables so we do not call gcc unless
> -# we really need to do so. (Do not call gcc as part of make mrproper)
> -HOST_EXTRACFLAGS += $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags) \
> - -DLOCALE
> -
> # ===========================================================================
> # Shared Makefile for the various kconfig executables:
> # conf: Used for defconfig, oldconfig and related targets
> @@ -173,14 +165,19 @@ qconf-cxxobjs := qconf.o
> qconf-objs := zconf.tab.o
> gconf-objs := gconf.o zconf.tab.o
>
> -hostprogs-y := conf
> +frontends-objs := $(conf-objs) $(mconf-objs) $(nconf-objs)
> +frontends-objs := $(qconf-cxxobjs) $(gconf-objs)
^^
Should be +=.
> +
> +hostprogs-y :=
>
> ifeq ($(MAKECMDGOALS),nconfig)
> hostprogs-y += nconf
> + ncurses-check := 1
> endif
>
> ifeq ($(MAKECMDGOALS),menuconfig)
> hostprogs-y += mconf
> + ncurses-check := 1
> endif
>
> ifeq ($(MAKECMDGOALS),update-po-config)
> @@ -188,140 +185,67 @@ ifeq ($(MAKECMDGOALS),update-po-config)
> endif
>
> ifeq ($(MAKECMDGOALS),xconfig)
> - qconf-target := 1
> -endif
> -ifeq ($(MAKECMDGOALS),gconfig)
> - gconf-target := 1
> -endif
> -
> -
> -ifeq ($(qconf-target),1)
> hostprogs-y += qconf
> + qt-check := 1
> endif
> -
> -ifeq ($(gconf-target),1)
> +ifeq ($(MAKECMDGOALS),gconfig)
> hostprogs-y += gconf
> + gtk-check := 1
> endif
...
> +KC_CHECK := gettext
> +
> +ifeq ($(ncurses-check),1)
> +KC_CHECK += ncurses
> endif
You could also build the KC_CHECK right when doing the $(MAKECMDGOALS)
tests and drop the *-check variables. Otherwise it is a very nice
cleanup, thanks a lot!
Michal
next prev parent reply other threads:[~2011-07-01 14:12 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-06 19:16 [RFC] Kconfig library check merge Arnaud Lacombe
2011-07-01 14:11 ` Michal Marek [this message]
2011-07-02 0:33 ` Arnaud Lacombe
2011-07-02 1:47 ` [RFC 0/7] " Arnaud Lacombe
2011-07-02 1:47 ` [RFC 1/7] kconfig/Makefile: add pretty printer for moc(1) Arnaud Lacombe
2011-07-02 1:47 ` [RFC 2/7] kconfig/Makefile: ensure `conf' appears last in `hostprogs-y' Arnaud Lacombe
2011-07-02 1:47 ` [RFC 3/7] kconfig/check.sh: prepare for generic check Arnaud Lacombe
2011-07-05 22:37 ` Valdis.Kletnieks
2011-07-05 22:48 ` Arnaud Lacombe
2011-07-02 1:47 ` [RFC 4/7] kconfig: move QT checks to `scripts/kconfig/check.sh' Arnaud Lacombe
2011-07-02 1:47 ` [RFC 5/7] kconfig: move GTK " Arnaud Lacombe
2011-07-02 1:47 ` [RFC 6/7] kconfig: move ncurses " Arnaud Lacombe
2011-07-02 1:47 ` [RFC 7/7] kconfig: add stub for nconf checks Arnaud Lacombe
2011-07-18 19:03 ` [RFC 0/7] Kconfig library check merge Arnaud Lacombe
2011-07-19 13:06 ` Michal Marek
2011-08-16 5:29 ` Arnaud Lacombe
2011-08-19 14:02 ` Michal Marek
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=4E0DD5AF.5040604@suse.cz \
--to=mmarek@suse.cz \
--cc=lacombar@gmail.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sam@ravnborg.org \
/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