Kbuild fixes for v5.8 (4th)

- clean the generated moc file for xconfig
 
  - fix xconfig bugs, and revert some bad commits
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCgAzFiEEbmPs18K1szRHjPqEPYsBB53g2wYFAl8m6r4VHG1hc2FoaXJv
 eUBrZXJuZWwub3JnAAoJED2LAQed4NsGhKAQAIRe8KG96+bX4beFKl3QODM2ITO+
 TV4G9c646hsyG7il8YAJBs3Q2QoD2egUmxRXZVT8fdirWBVbSmjneb3fyMmeTqu5
 YC3IvSTyd8xjDt4zboPXa424/qm9tVdwzJ/o++1+Igx8Bgj3kq+smSqPSqqMSZmo
 IUm630T9kY0XOarofb+6DoaXGKPhR7R3gTD+GLUEtM3C9txQghrffmcYMSe3TB1a
 EZ12Udxh6XjdrjfQstneY7GJjAsB2cNHGp+vjM5ZC+Y+osAOG5gBCnj3ECYukmCZ
 c5bpr5Cs4wl7cGNY0GXW+vgfUVkc74yOQ1qu+fZ78ZwSIBOLXmc06iI0ODM2ZnWE
 oDoW1NtXl/s0I4b+kYWjbZN7dlE0qjaC/wXx59AR1Py0RXGggWLWhWn/wBkwkVMY
 QKMKXPESqWEGwJPtpsbTAr/dNIAfe5uF0EGup7GohQlEAKY7ZgOemmxMnXu3NUuX
 zJ9mA5eF5eMye1NmbNTgPMwVAJGVVfvoqOjQn76qnWEz6suXlu7gSWuMP8mVxzgc
 m/7upHD4nRdIOITvZrNRjyWhL/GhIH8IrvOLasmF9E1dvBm8uq6Iwk5oKCui/V5H
 dbPWngfaqsdod7LUM27NS5F09VT23SrbN+n69wrzj5n5vMs5J7fYdaq+8SKbJ4t7
 iIuWmah/jhXGzmbT
 =FNIn
 -----END PGP SIGNATURE-----

Merge tag 'kbuild-fixes-v5.8-4' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild

Pull Kbuild fixes from Masahiro Yamada:

 - clean the generated moc file for xconfig

 - fix xconfig bugs, and revert some bad commits

* tag 'kbuild-fixes-v5.8-4' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
  kbuild: remove redundant FORCE definition in scripts/Makefile.modpost
  kconfig: qconf: remove wrong ConfigList::firstChild()
  Revert "kconfig: qconf: don't show goback button on splitMode"
  Revert "kconfig: qconf: Change title for the item window"
  kconfig: qconf: remove "goBack" debug message
  kconfig: qconf: use delete[] instead of delete to free array
  kconfig: qconf: compile moc object separately
  kconfig: qconf: use if_changed for qconf.moc rule
  modpost: explain why we can't use strsep
This commit is contained in:
Linus Torvalds 2020-08-02 11:23:51 -07:00
commit 142c3326b0
6 changed files with 16 additions and 30 deletions

View file

@ -124,9 +124,6 @@ existing-targets := $(wildcard $(sort $(targets)))
-include $(foreach f,$(existing-targets),$(dir $(f)).$(notdir $(f)).cmd)
PHONY += FORCE
FORCE:
endif
.PHONY: $(PHONY)

View file

@ -1,5 +1,5 @@
# SPDX-License-Identifier: GPL-2.0-only
*.moc
/qconf-moc.cc
*conf-cfg
#

View file

@ -181,19 +181,22 @@ $(addprefix $(obj)/, mconf.o $(lxdialog)): $(obj)/mconf-cfg
# qconf: Used for the xconfig target based on Qt
hostprogs += qconf
qconf-cxxobjs := qconf.o
qconf-cxxobjs := qconf.o qconf-moc.o
qconf-objs := images.o $(common-objs)
HOSTLDLIBS_qconf = $(shell . $(obj)/qconf-cfg && echo $$libs)
HOSTCXXFLAGS_qconf.o = $(shell . $(obj)/qconf-cfg && echo $$cflags)
HOSTCXXFLAGS_qconf-moc.o = $(shell . $(obj)/qconf-cfg && echo $$cflags)
$(obj)/qconf.o: $(obj)/qconf-cfg $(obj)/qconf.moc
$(obj)/qconf.o: $(obj)/qconf-cfg
quiet_cmd_moc = MOC $@
cmd_moc = $(shell . $(obj)/qconf-cfg && echo $$moc) -i $< -o $@
cmd_moc = $(shell . $(obj)/qconf-cfg && echo $$moc) $< -o $@
$(obj)/%.moc: $(src)/%.h $(obj)/qconf-cfg
$(call cmd,moc)
$(obj)/qconf-moc.cc: $(src)/qconf.h $(obj)/qconf-cfg FORCE
$(call if_changed,moc)
targets += qconf-moc.cc
# gconf: Used for the gconfig target based on GTK+
hostprogs += gconf

View file

@ -23,7 +23,6 @@
#include "lkc.h"
#include "qconf.h"
#include "qconf.moc"
#include "images.h"
@ -308,10 +307,7 @@ ConfigList::ConfigList(ConfigView* p, const char *name)
setVerticalScrollMode(ScrollPerPixel);
setHorizontalScrollMode(ScrollPerPixel);
if (mode == symbolMode)
setHeaderLabels(QStringList() << "Item" << "Name" << "N" << "M" << "Y" << "Value");
else
setHeaderLabels(QStringList() << "Option" << "Name" << "N" << "M" << "Y" << "Value");
setHeaderLabels(QStringList() << "Option" << "Name" << "N" << "M" << "Y" << "Value");
connect(this, SIGNAL(itemSelectionChanged(void)),
SLOT(updateSelection(void)));
@ -392,11 +388,6 @@ void ConfigList::updateSelection(void)
struct menu *menu;
enum prop_type type;
if (mode == symbolMode)
setHeaderLabels(QStringList() << "Item" << "Name" << "N" << "M" << "Y" << "Value");
else
setHeaderLabels(QStringList() << "Option" << "Name" << "N" << "M" << "Y" << "Value");
if (selectedItems().count() == 0)
return;
@ -437,14 +428,13 @@ void ConfigList::updateList(ConfigItem* item)
if (rootEntry != &rootmenu && (mode == singleMode ||
(mode == symbolMode && rootEntry->parent != &rootmenu))) {
item = (ConfigItem *)topLevelItem(0);
if (!item && mode != symbolMode) {
if (!item)
item = new ConfigItem(this, 0, true);
last = item;
}
last = item;
}
if ((mode == singleMode || (mode == symbolMode && !(rootEntry->flags & MENU_ROOT))) &&
rootEntry->sym && rootEntry->prompt) {
item = last ? last->nextSibling() : firstChild();
item = last ? last->nextSibling() : nullptr;
if (!item)
item = new ConfigItem(this, last, rootEntry, true);
else
@ -1239,7 +1229,7 @@ void ConfigInfoView::clicked(const QUrl &url)
if (count < 1) {
qInfo() << "Clicked link is empty";
delete data;
delete[] data;
return;
}
@ -1252,7 +1242,7 @@ void ConfigInfoView::clicked(const QUrl &url)
result = sym_re_search(data);
if (!result) {
qInfo() << "Clicked symbol is invalid:" << data;
delete data;
delete[] data;
return;
}
@ -1735,7 +1725,6 @@ void ConfigMainWindow::listFocusChanged(void)
void ConfigMainWindow::goBack(void)
{
qInfo() << __FUNCTION__;
if (configList->rootEntry == &rootmenu)
return;

View file

@ -92,10 +92,6 @@ public slots:
{
return this;
}
ConfigItem* firstChild() const
{
return (ConfigItem *)children().first();
}
void addColumn(colIdx idx)
{
showColumn(idx);

View file

@ -144,6 +144,7 @@ char *get_line(char **stringp)
if (!orig || *orig == '\0')
return NULL;
/* don't use strsep here, it is not available everywhere */
next = strchr(orig, '\n');
if (next)
*next++ = '\0';