Hi, 2011/7/1 Michal Marek <mmarek@xxxxxxx>: > 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@xxxxxxxxxxxx> >> >> --- >> 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 +=. > will fix. >> + >> +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! > yes, good point. Btw, I intend to split the patch into more logical part. Will update soon. - Arnaud -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html