Merge tag 'kconfig-v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 22 Dec 2020 22:04:25 +0000 (14:04 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 22 Dec 2020 22:04:25 +0000 (14:04 -0800)
Pull Kconfig updates from Masahiro Yamada:

 - Support only Qt5 for qconf

 - Validate signal/slot connection at compile time of qconf

 - Sanitize header includes

* tag 'kconfig-v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
  kconfig: doc: fix $(fileno) to $(filename)
  kconfig: fix return value of do_error_if()
  kconfig: clean up header inclusion
  kconfig: qconf: show Qt version in the About dialog
  kconfig: make lkc.h self-sufficient #include-wise
  kconfig: qconf: convert to Qt5 new signal/slot connection syntax
  kconfig: qconf: use a variable to pass packages to pkg-config
  kconfig: qconf: drop Qt4 support

Documentation/kbuild/kconfig-macro-language.rst
scripts/kconfig/conf.c
scripts/kconfig/confdata.c
scripts/kconfig/lexer.l
scripts/kconfig/lkc.h
scripts/kconfig/preprocess.c
scripts/kconfig/qconf-cfg.sh
scripts/kconfig/qconf.cc
scripts/kconfig/symbol.c

index 8b413ef9603dae16122706b62b340663814d8edf..6163467f6ae4f0f570af596516e56ff123138f08 100644 (file)
@@ -97,7 +97,7 @@ Like Make, Kconfig provides several built-in functions. Every function takes a
 particular number of arguments.
 
 In Make, every built-in function takes at least one argument. Kconfig allows
-zero argument for built-in functions, such as $(fileno), $(lineno). You could
+zero argument for built-in functions, such as $(filename), $(lineno). You could
 consider those as "built-in variable", but it is just a matter of how we call
 it after all. Let's say "built-in function" here to refer to natively supported
 functionality.
index f6e548b8f79556a2a799358730459686bd002f2f..db03e2f45de4202496f466b8ad5b9418690de09f 100644 (file)
@@ -11,7 +11,6 @@
 #include <time.h>
 #include <unistd.h>
 #include <getopt.h>
-#include <sys/stat.h>
 #include <sys/time.h>
 #include <errno.h>
 
index a39d93e3c6ae8d34f617b835d8ebcf5900cbad89..2568dbe16ed64a328ea219c16b2af407992adaa3 100644 (file)
@@ -5,6 +5,7 @@
 
 #include <sys/mman.h>
 #include <sys/stat.h>
+#include <sys/types.h>
 #include <ctype.h>
 #include <errno.h>
 #include <fcntl.h>
index 240109f965aeb72362226845a4364294924c607a..9c22cb5546734a80f27d8ee22fc7dba585c00ec4 100644 (file)
@@ -12,7 +12,6 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <unistd.h>
 
 #include "lkc.h"
 #include "parser.tab.h"
index 8454649b17bd5a38729a1cdc8e845cb336df78cc..bee2413bda6334263ad3cb5902f5f3a5169d57bd 100644 (file)
@@ -6,6 +6,10 @@
 #ifndef LKC_H
 #define LKC_H
 
+#include <assert.h>
+#include <stdio.h>
+#include <stdlib.h>
+
 #include "expr.h"
 
 #ifdef __cplusplus
index 0243086fb16854d9c7555b13f4ad3f3b2b96c456..0590f86df6e40cfd073100904f3ec5cfbe650f5f 100644 (file)
@@ -114,7 +114,7 @@ static char *do_error_if(int argc, char *argv[])
        if (!strcmp(argv[0], "y"))
                pperror("%s", argv[1]);
 
-       return NULL;
+       return xstrdup("");
 }
 
 static char *do_filename(int argc, char *argv[])
index 02ccc0ae103187a4a1f9c56bac3eca08823087b8..fa564cd795b7c09d671764d89d38acc6a577e7f7 100755 (executable)
@@ -2,7 +2,6 @@
 # SPDX-License-Identifier: GPL-2.0
 
 PKG="Qt5Core Qt5Gui Qt5Widgets"
-PKG2="QtCore QtGui"
 
 if [ -z "$(command -v pkg-config)" ]; then
        echo >&2 "*"
@@ -12,21 +11,14 @@ if [ -z "$(command -v pkg-config)" ]; then
 fi
 
 if pkg-config --exists $PKG; then
-       echo cflags=\"-std=c++11 -fPIC $(pkg-config --cflags Qt5Core Qt5Gui Qt5Widgets)\"
+       echo cflags=\"-std=c++11 -fPIC $(pkg-config --cflags $PKG)\"
        echo libs=\"$(pkg-config --libs $PKG)\"
        echo moc=\"$(pkg-config --variable=host_bins Qt5Core)/moc\"
        exit 0
 fi
 
-if pkg-config --exists $PKG2; then
-       echo cflags=\"$(pkg-config --cflags $PKG2)\"
-       echo libs=\"$(pkg-config --libs $PKG2)\"
-       echo moc=\"$(pkg-config --variable=moc_location QtCore)\"
-       exit 0
-fi
-
 echo >&2 "*"
-echo >&2 "* Could not find Qt via pkg-config."
-echo >&2 "* Please install either Qt 4.8 or 5.x. and make sure it's in PKG_CONFIG_PATH"
+echo >&2 "* Could not find Qt5 via pkg-config."
+echo >&2 "* Please install Qt5 and make sure it's in PKG_CONFIG_PATH"
 echo >&2 "*"
 exit 1
index f7eb093614f27c1a8c0f4678fc7716a6c6db512c..d000869b787c87de8540fd289c66d68e2e963f4d 100644 (file)
@@ -310,15 +310,16 @@ ConfigList::ConfigList(QWidget *parent, const char *name)
 
        setHeaderLabels(QStringList() << "Option" << "Name" << "Value");
 
-       connect(this, SIGNAL(itemSelectionChanged(void)),
-               SLOT(updateSelection(void)));
+       connect(this, &ConfigList::itemSelectionChanged,
+               this, &ConfigList::updateSelection);
 
        if (name) {
                configSettings->beginGroup(name);
                showName = configSettings->value("/showName", false).toBool();
                optMode = (enum optionMode)configSettings->value("/optionMode", 0).toInt();
                configSettings->endGroup();
-               connect(configApp, SIGNAL(aboutToQuit()), SLOT(saveSettings()));
+               connect(configApp, &QApplication::aboutToQuit,
+                       this, &ConfigList::saveSettings);
        }
 
        showColumn(promptColIdx);
@@ -888,10 +889,10 @@ void ConfigList::contextMenuEvent(QContextMenuEvent *e)
                headerPopup = new QMenu(this);
                action = new QAction("Show Name", this);
                action->setCheckable(true);
-               connect(action, SIGNAL(toggled(bool)),
-                       SLOT(setShowName(bool)));
-               connect(this, SIGNAL(showNameChanged(bool)),
-                       action, SLOT(setChecked(bool)));
+               connect(action, &QAction::toggled,
+                       this, &ConfigList::setShowName);
+               connect(this, &ConfigList::showNameChanged,
+                       action, &QAction::setChecked);
                action->setChecked(showName);
                headerPopup->addAction(action);
        }
@@ -936,15 +937,18 @@ ConfigInfoView::ConfigInfoView(QWidget* parent, const char *name)
                configSettings->beginGroup(objectName());
                setShowDebug(configSettings->value("/showDebug", false).toBool());
                configSettings->endGroup();
-               connect(configApp, SIGNAL(aboutToQuit()), SLOT(saveSettings()));
+               connect(configApp, &QApplication::aboutToQuit,
+                       this, &ConfigInfoView::saveSettings);
        }
 
        contextMenu = createStandardContextMenu();
        QAction *action = new QAction("Show Debug Info", contextMenu);
 
        action->setCheckable(true);
-       connect(action, SIGNAL(toggled(bool)), SLOT(setShowDebug(bool)));
-       connect(this, SIGNAL(showDebugChanged(bool)), action, SLOT(setChecked(bool)));
+       connect(action, &QAction::toggled,
+               this, &ConfigInfoView::setShowDebug);
+       connect(this, &ConfigInfoView::showDebugChanged,
+               action, &QAction::setChecked);
        action->setChecked(showDebug());
        contextMenu->addSeparator();
        contextMenu->addAction(action);
@@ -1231,11 +1235,13 @@ ConfigSearchWindow::ConfigSearchWindow(ConfigMainWindow *parent)
        layout2->setSpacing(6);
        layout2->addWidget(new QLabel("Find:", this));
        editField = new QLineEdit(this);
-       connect(editField, SIGNAL(returnPressed()), SLOT(search()));
+       connect(editField, &QLineEdit::returnPressed,
+               this, &ConfigSearchWindow::search);
        layout2->addWidget(editField);
        searchButton = new QPushButton("Search", this);
        searchButton->setAutoDefault(false);
-       connect(searchButton, SIGNAL(clicked()), SLOT(search()));
+       connect(searchButton, &QPushButton::clicked,
+               this, &ConfigSearchWindow::search);
        layout2->addWidget(searchButton);
        layout1->addLayout(layout2);
 
@@ -1244,10 +1250,10 @@ ConfigSearchWindow::ConfigSearchWindow(ConfigMainWindow *parent)
        list = new ConfigList(split, "search");
        list->mode = listMode;
        info = new ConfigInfoView(split, "search");
-       connect(list, SIGNAL(menuChanged(struct menu *)),
-               info, SLOT(setInfo(struct menu *)));
-       connect(list, SIGNAL(menuChanged(struct menu *)),
-               parent, SLOT(setMenuLink(struct menu *)));
+       connect(list, &ConfigList::menuChanged,
+               info, &ConfigInfoView::setInfo);
+       connect(list, &ConfigList::menuChanged,
+               parent, &ConfigMainWindow::setMenuLink);
 
        layout1->addWidget(split);
 
@@ -1267,7 +1273,8 @@ ConfigSearchWindow::ConfigSearchWindow(ConfigMainWindow *parent)
        if (ok)
                split->setSizes(sizes);
        configSettings->endGroup();
-       connect(configApp, SIGNAL(aboutToQuit()), SLOT(saveSettings()));
+       connect(configApp, &QApplication::aboutToQuit,
+               this, &ConfigSearchWindow::saveSettings);
 }
 
 void ConfigSearchWindow::saveSettings(void)
@@ -1367,19 +1374,23 @@ ConfigMainWindow::ConfigMainWindow(void)
        configList->setFocus();
 
        backAction = new QAction(QPixmap(xpm_back), "Back", this);
-       connect(backAction, SIGNAL(triggered(bool)), SLOT(goBack()));
+       connect(backAction, &QAction::triggered,
+               this, &ConfigMainWindow::goBack);
 
        QAction *quitAction = new QAction("&Quit", this);
        quitAction->setShortcut(Qt::CTRL + Qt::Key_Q);
-       connect(quitAction, SIGNAL(triggered(bool)), SLOT(close()));
+       connect(quitAction, &QAction::triggered,
+               this, &ConfigMainWindow::close);
 
        QAction *loadAction = new QAction(QPixmap(xpm_load), "&Load", this);
        loadAction->setShortcut(Qt::CTRL + Qt::Key_L);
-       connect(loadAction, SIGNAL(triggered(bool)), SLOT(loadConfig()));
+       connect(loadAction, &QAction::triggered,
+               this, &ConfigMainWindow::loadConfig);
 
        saveAction = new QAction(QPixmap(xpm_save), "&Save", this);
        saveAction->setShortcut(Qt::CTRL + Qt::Key_S);
-       connect(saveAction, SIGNAL(triggered(bool)), SLOT(saveConfig()));
+       connect(saveAction, &QAction::triggered,
+               this, &ConfigMainWindow::saveConfig);
 
        conf_set_changed_callback(conf_changed);
 
@@ -1388,31 +1399,37 @@ ConfigMainWindow::ConfigMainWindow(void)
        configname = xstrdup(conf_get_configname());
 
        QAction *saveAsAction = new QAction("Save &As...", this);
-         connect(saveAsAction, SIGNAL(triggered(bool)), SLOT(saveConfigAs()));
+       connect(saveAsAction, &QAction::triggered,
+               this, &ConfigMainWindow::saveConfigAs);
        QAction *searchAction = new QAction("&Find", this);
        searchAction->setShortcut(Qt::CTRL + Qt::Key_F);
-         connect(searchAction, SIGNAL(triggered(bool)), SLOT(searchConfig()));
+       connect(searchAction, &QAction::triggered,
+               this, &ConfigMainWindow::searchConfig);
        singleViewAction = new QAction(QPixmap(xpm_single_view), "Single View", this);
        singleViewAction->setCheckable(true);
-         connect(singleViewAction, SIGNAL(triggered(bool)), SLOT(showSingleView()));
+       connect(singleViewAction, &QAction::triggered,
+               this, &ConfigMainWindow::showSingleView);
        splitViewAction = new QAction(QPixmap(xpm_split_view), "Split View", this);
        splitViewAction->setCheckable(true);
-         connect(splitViewAction, SIGNAL(triggered(bool)), SLOT(showSplitView()));
+       connect(splitViewAction, &QAction::triggered,
+               this, &ConfigMainWindow::showSplitView);
        fullViewAction = new QAction(QPixmap(xpm_tree_view), "Full View", this);
        fullViewAction->setCheckable(true);
-         connect(fullViewAction, SIGNAL(triggered(bool)), SLOT(showFullView()));
+       connect(fullViewAction, &QAction::triggered,
+               this, &ConfigMainWindow::showFullView);
 
        QAction *showNameAction = new QAction("Show Name", this);
          showNameAction->setCheckable(true);
-       connect(showNameAction, SIGNAL(toggled(bool)), configList, SLOT(setShowName(bool)));
+       connect(showNameAction, &QAction::toggled,
+               configList, &ConfigList::setShowName);
        showNameAction->setChecked(configList->showName);
 
        QActionGroup *optGroup = new QActionGroup(this);
        optGroup->setExclusive(true);
-       connect(optGroup, SIGNAL(triggered(QAction*)), configList,
-               SLOT(setOptionMode(QAction *)));
-       connect(optGroup, SIGNAL(triggered(QAction *)), menuList,
-               SLOT(setOptionMode(QAction *)));
+       connect(optGroup, &QActionGroup::triggered,
+               configList, &ConfigList::setOptionMode);
+       connect(optGroup, &QActionGroup::triggered,
+               menuList, &ConfigList::setOptionMode);
 
        ConfigList::showNormalAction = new QAction("Show Normal Options", optGroup);
        ConfigList::showNormalAction->setCheckable(true);
@@ -1423,13 +1440,16 @@ ConfigMainWindow::ConfigMainWindow(void)
 
        QAction *showDebugAction = new QAction("Show Debug Info", this);
          showDebugAction->setCheckable(true);
-         connect(showDebugAction, SIGNAL(toggled(bool)), helpText, SLOT(setShowDebug(bool)));
+       connect(showDebugAction, &QAction::toggled,
+               helpText, &ConfigInfoView::setShowDebug);
          showDebugAction->setChecked(helpText->showDebug());
 
        QAction *showIntroAction = new QAction("Introduction", this);
-         connect(showIntroAction, SIGNAL(triggered(bool)), SLOT(showIntro()));
+       connect(showIntroAction, &QAction::triggered,
+               this, &ConfigMainWindow::showIntro);
        QAction *showAboutAction = new QAction("About", this);
-         connect(showAboutAction, SIGNAL(triggered(bool)), SLOT(showAbout()));
+       connect(showAboutAction, &QAction::triggered,
+               this, &ConfigMainWindow::showAbout);
 
        // init tool bar
        QToolBar *toolBar = addToolBar("Tools");
@@ -1467,30 +1487,30 @@ ConfigMainWindow::ConfigMainWindow(void)
        menu->addAction(showIntroAction);
        menu->addAction(showAboutAction);
 
-       connect (helpText, SIGNAL (anchorClicked (const QUrl &)),
-                helpText, SLOT (clicked (const QUrl &)) );
-
-       connect(configList, SIGNAL(menuChanged(struct menu *)),
-               helpText, SLOT(setInfo(struct menu *)));
-       connect(configList, SIGNAL(menuSelected(struct menu *)),
-               SLOT(changeMenu(struct menu *)));
-       connect(configList, SIGNAL(itemSelected(struct menu *)),
-               SLOT(changeItens(struct menu *)));
-       connect(configList, SIGNAL(parentSelected()),
-               SLOT(goBack()));
-       connect(menuList, SIGNAL(menuChanged(struct menu *)),
-               helpText, SLOT(setInfo(struct menu *)));
-       connect(menuList, SIGNAL(menuSelected(struct menu *)),
-               SLOT(changeMenu(struct menu *)));
-
-       connect(configList, SIGNAL(gotFocus(struct menu *)),
-               helpText, SLOT(setInfo(struct menu *)));
-       connect(menuList, SIGNAL(gotFocus(struct menu *)),
-               helpText, SLOT(setInfo(struct menu *)));
-       connect(menuList, SIGNAL(gotFocus(struct menu *)),
-               SLOT(listFocusChanged(void)));
-       connect(helpText, SIGNAL(menuSelected(struct menu *)),
-               SLOT(setMenuLink(struct menu *)));
+       connect(helpText, &ConfigInfoView::anchorClicked,
+               helpText, &ConfigInfoView::clicked);
+
+       connect(configList, &ConfigList::menuChanged,
+               helpText, &ConfigInfoView::setInfo);
+       connect(configList, &ConfigList::menuSelected,
+               this, &ConfigMainWindow::changeMenu);
+       connect(configList, &ConfigList::itemSelected,
+               this, &ConfigMainWindow::changeItens);
+       connect(configList, &ConfigList::parentSelected,
+               this, &ConfigMainWindow::goBack);
+       connect(menuList, &ConfigList::menuChanged,
+               helpText, &ConfigInfoView::setInfo);
+       connect(menuList, &ConfigList::menuSelected,
+               this, &ConfigMainWindow::changeMenu);
+
+       connect(configList, &ConfigList::gotFocus,
+               helpText, &ConfigInfoView::setInfo);
+       connect(menuList, &ConfigList::gotFocus,
+               helpText, &ConfigInfoView::setInfo);
+       connect(menuList, &ConfigList::gotFocus,
+               this, &ConfigMainWindow::listFocusChanged);
+       connect(helpText, &ConfigInfoView::menuSelected,
+               this, &ConfigMainWindow::setMenuLink);
 
        QString listMode = configSettings->value("/listMode", "symbol").toString();
        if (listMode == "single")
@@ -1779,10 +1799,13 @@ void ConfigMainWindow::showIntro(void)
 void ConfigMainWindow::showAbout(void)
 {
        static const QString str = "qconf is Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>.\n"
-               "Copyright (C) 2015 Boris Barbulovski <bbarbulovski@gmail.com>.\n\n"
-               "Bug reports and feature request can also be entered at http://bugzilla.kernel.org/\n";
+               "Copyright (C) 2015 Boris Barbulovski <bbarbulovski@gmail.com>.\n"
+               "\n"
+               "Bug reports and feature request can also be entered at http://bugzilla.kernel.org/\n"
+               "\n"
+               "Qt Version: ";
 
-       QMessageBox::information(this, "qconf", str);
+       QMessageBox::information(this, "qconf", str + qVersion());
 }
 
 void ConfigMainWindow::saveSettings(void)
index ffa3ec65cc907ac1f72a66755ae39aabc09d6e6c..fe38e6fd2c2a4555adfcd78a135e977c78aa4ac4 100644 (file)
@@ -3,11 +3,11 @@
  * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
  */
 
+#include <sys/types.h>
 #include <ctype.h>
 #include <stdlib.h>
 #include <string.h>
 #include <regex.h>
-#include <sys/utsname.h>
 
 #include "lkc.h"