Commit Graph
653 Commits
Author SHA1 Message Date
Linus Torvalds 152813e6e4 Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
Pull kconfig updates from Michal Marek:

 - 'make xconfig' ported to Qt5, dropping support for Qt3

 - merge_config.sh supports a single-input-file mode and also respects
   $KCONFIG_CONFIG

 - Fix for incorrect display of >= and > in dependency expressions

* 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: (44 commits)
  Add current selection check.
  Use pkg-config to find Qt 4 and 5 instead of direct qmake
  kconfig: Fix copy&paste error
  kconfig/merge_config.sh: Accept a single file
  kconfig/merge_config.sh: Support KCONFIG_CONFIG
  Update the buildsystem for KConfig finding Qt
  Port xconfig to Qt5 - Update copyright.
  Port xconfig to Qt5 - Fix goParent issue.
  Port xconfig to Qt5 - on Back clicked, deselect old item.
  Port xconfig to Qt5 - Add(back) one click checkbox toggle.
  Port xconfig to Qt5 - Add(back) lineedit editing.
  Port xconfig to Qt5 - Remove some commented code.
  Port xconfig to Qt5 - Source format.
  Port xconfig to Qt5 - Add horizontal scrollbar, and scroll per pixel.
  Port xconfig to Qt5 - Change ConfigItem constructor parent type.
  Port xconfig to Qt5 - Disable ConfigList soring
  Port xconfig to Qt5 - Remove ConfigList::updateMenuList template.
  Port xconfig to Qt5 - Add ConfigList::mode to initializer list.
  Port xconfig to Qt5 - Add ConfigItem::nextItem to initializer list.
  Port xconfig to Qt5 - Tree widget set column titles.
  ...
2015-11-10 21:06:50 -08:00
Boris Barbulovski be596aaa74 Add current selection check.
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
[mmarek: I missed it in the original Qt5 patch set, which caused a crash]
Signed-off-by: Michal Marek <[email protected]>
2015-11-02 21:43:58 +01:00
Thiago Macieira 588446a847 Use pkg-config to find Qt 4 and 5 instead of direct qmake
The Qt Project recommendation is that there should always be a "qmake"
binary and it should never be renamed. If it's necessary to handle
multiple Qt versions, the Qt Project recommends using qtchooser.

Unfortunately, some distros do not follow the recommendation, so we
would need to check qmake-qt4, qmake-qt5, etc. So, instead, let's try
pkg-config.

Signed-off-by: Thiago Macieira <[email protected]>
Reported-by: Alexey Brodkin <[email protected]>
Acked-by: Alexey Brodkin <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-11-02 21:43:09 +01:00
Michal Sojka f6aad2615c kconfig: Fix copy&paste error
Fixes: 31847b67be ("kconfig: allow use of relations other than (in)equality")
Signed-off-by: Michal Sojka <[email protected]>
Reviewed-by: Jan Beulich <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-20 19:13:14 +02:00
Michael Ellerman bd960f0983 scripts/kconfig/Makefile: Fix KBUILD_DEFCONFIG check when building with O=
My recent commit d2036f30cf ("scripts/kconfig/Makefile: Allow
KBUILD_DEFCONFIG to be a target"), contained a bug in that when it
checks if KBUILD_DEFCONFIG is a file it forgets to prepend $(srctree) to
the path.

This causes the build to fail when building out of tree (with O=), and
when the value of KBUILD_DEFCONFIG is 'defconfig'. In that case we will
fail to find the 'defconfig' file, because we look in the build
directory not $(srctree), and so we will call Make again with
'defconfig' as the target. From there we loop infinitely calling 'make
defconfig' again and again.

The fix is simple, we need to look for the file under $(srctree).

Fixes: d2036f30cf ("scripts/kconfig/Makefile: Allow KBUILD_DEFCONFIG to be a target")
Reported-by: Olof Johansson <[email protected]>
Acked-by: Michal Marek <[email protected]>
Signed-off-by: Michael Ellerman <[email protected]>
2015-10-15 20:31:42 +11:00
Gabriel de Perthuis 2163e7b38f kconfig/merge_config.sh: Accept a single file
merge_config.sh can usefully be applied to a single file.
It implicitly merges with the default configuration.

Signed-off-by: Gabriel de Perthuis <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 16:19:37 +02:00
Gabriel de Perthuis ed94fea5ba kconfig/merge_config.sh: Support KCONFIG_CONFIG
All make targets support $KCONFIG_CONFIG because they
run scripts/kconf.  Make sure merge_config.sh accesses the
correct file in all cases.

Previously this script broke in two different code paths,
one for targets like kvmconfig (which use merge_config.sh -m
then call a target that respects KCONFIG_CONFIG) and one for
direct use of the script without -m, which called make rules
that edit KCONFIG_CONFIG but verified a different file.

Signed-off-by: Gabriel de Perthuis <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 16:19:33 +02:00
Thiago Macieira d1b0dc90ab Update the buildsystem for KConfig finding Qt
The buildsystem will now only search for Qt 4 and Qt 5. Support for Qt 2
and 3 was dropped in the previous commits (Qt 3 was EOL'ed in 2010 or
so...).

For Qt 5, to be future-proof with the future direction notice appearing
in the 5.5 release, C++11 support is automatically enabled.

Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 15:00:25 +02:00
Boris Barbulovski b4ff1de3b8 Port xconfig to Qt5 - Update copyright.
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 15:00:25 +02:00
Boris Barbulovski ee7298fbc0 Port xconfig to Qt5 - Fix goParent issue.
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 15:00:25 +02:00
Boris Barbulovski 5df9da9df2 Port xconfig to Qt5 - on Back clicked, deselect old item.
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 15:00:25 +02:00
Boris Barbulovski 76d53cbbae Port xconfig to Qt5 - Add(back) one click checkbox toggle.
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:04 +02:00
Boris Barbulovski e336b9f132 Port xconfig to Qt5 - Add(back) lineedit editing.
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:04 +02:00
Boris Barbulovski 5c60014b4e Port xconfig to Qt5 - Remove some commented code.
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:04 +02:00
Boris Barbulovski b3c48f964c Port xconfig to Qt5 - Source format.
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:03 +02:00
Boris Barbulovski f999cc06f9 Port xconfig to Qt5 - Add horizontal scrollbar, and scroll per pixel.
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:03 +02:00
Boris Barbulovski d960b98899 Port xconfig to Qt5 - Change ConfigItem constructor parent type.
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:03 +02:00
Boris Barbulovski a5225e9bc9 Port xconfig to Qt5 - Disable ConfigList soring
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:03 +02:00
Boris Barbulovski 5c6f1554ba Port xconfig to Qt5 - Remove ConfigList::updateMenuList template.
ConfigItem executes parent->takeChild(0)

while

ConfigList executes parent->takeTopLevelItem(0)

Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:03 +02:00
Boris Barbulovski dbf629331a Port xconfig to Qt5 - Add ConfigList::mode to initializer list.
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:03 +02:00
Boris Barbulovski 86c052827b Port xconfig to Qt5 - Add ConfigItem::nextItem to initializer list.
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:03 +02:00
Boris Barbulovski a52cb321de Port xconfig to Qt5 - Tree widget set column titles.
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:03 +02:00
Boris Barbulovski e484fe3a9b Port xconfig to Qt5 - Quick workaround to bypass app crash at startup.
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:03 +02:00
Boris Barbulovski 9bd36ed363 Port xconfig to Qt5 - Set ConfigView object name.
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:02 +02:00
Boris Barbulovski c14fa5e123 Port xconfig to Qt5 - Use correct signal names.
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:02 +02:00
Boris Barbulovski 9bfda0ab03 Port xconfig to Qt5 - Remove Qt3Support from Makefile.
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:02 +02:00
Boris Barbulovski d5d973c3f8 Port xconfig to Qt5 - Put back some of the old implementation(part 2).
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:02 +02:00
Boris Barbulovski 59e564408f Port xconfig to Qt5 - Put back some of the old implementation.
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:02 +02:00
Boris Barbulovski 1019f1a586 Port xconfig to Qt5 - Introduce Qt4/5 version of ConfigList and ConfigItem
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:02 +02:00
Boris Barbulovski 92119937e8 Port xconfig to Qt5 - update signals
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:02 +02:00
Boris Barbulovski 68ccb7ef49 Port xconfig to Qt5 - Fix the code so it compiles with Qt5
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:02 +02:00
Boris Barbulovski 76538660fb Port xconfig to Qt5 - Remove custom ListView classes.
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:02 +02:00
Boris Barbulovski 780505e33f Port xconfig to Qt5 - Make single/split/full actions checkable.
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:01 +02:00
Boris Barbulovski 9c86235a19 Port xconfig to Qt5 - Update QAction checkable
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:01 +02:00
Boris Barbulovski 92298b496d Port xconfig to Qt5 - Fix layout margin.
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:01 +02:00
Boris Barbulovski 29a70168e2 Port xconfig to Qt5 - Fix layout
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:01 +02:00
Boris Barbulovski 34d6320b82 Port xconfig to Qt5 - Replace Q3VBox with QWidget
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:01 +02:00
Boris Barbulovski 1ce67353a7 Port xconfig to Qt5 - Remove unused #include <q3dragobject.h>
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:01 +02:00
Boris Barbulovski 76bede8708 Port xconfig to Qt5 - Use QMenu
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:01 +02:00
Boris Barbulovski 924bbb53d5 Port xconfig to Qt5 - Use QTextBrowser
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:01 +02:00
Boris Barbulovski 041fbdc21f Port xconfig to Qt5 - Use QList
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:01 +02:00
Boris Barbulovski bea00771f7 Port xconfig to Qt5 - Use QFileDialog
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:00 +02:00
Boris Barbulovski 85eaf28a26 Port xconfig to Qt5 - Use QAction
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:00 +02:00
Boris Barbulovski b1f8a45bfe Port xconfig to Qt5 - Use QMainWindow, QToolBar
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:00 +02:00
Boris Barbulovski 8328447af8 Remove support for QT3 and older.
Signed-off-by: Boris Barbulovski <[email protected]>
Signed-off-by: Thiago Macieira <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-14 14:59:00 +02:00
Luis R. Rodriguez 1c199f2878 kbuild: document recursive dependency limitation / resolution
Recursive dependency issues with kconfig are unavoidable due to
some limitations with kconfig, since these issues are recurring
provide a hint to the user how they can resolve these dependency
issues and also document why such limitation exists.

While at it also document a bit of future prospects of ways to
enhance Kconfig, including providing formal semantics and evaluation
of use of a SAT solver. If you're interested in this work or prospects
of it check out the kconfig-sat project wiki [0] and mailing list [1].

[0] http://kernelnewbies.org/KernelProjects/kconfig-sat
[1] https://groups.google.com/d/forum/kconfig-sat

Cc: Geert Uytterhoeven <[email protected]>
Cc: James Bottomley <[email protected]>
Cc: Josh Triplett <[email protected]>
Cc: Paul Bolle <[email protected]>
Cc: Herbert Xu <[email protected]>
Cc: Takashi Iwai <[email protected]>
Cc: "Yann E. MORIN" <[email protected]>
Cc: Jonathan Corbet <[email protected]>
Cc: Mate Soos <[email protected]>
Signed-off-by: Luis R. Rodriguez <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-10-08 15:36:16 +02:00
Michael Ellerman d2036f30cf scripts/kconfig/Makefile: Allow KBUILD_DEFCONFIG to be a target
Arch Makefiles can set KBUILD_DEFCONFIG to tell kbuild the name of the
defconfig that should be built by default.

However currently there is an assumption that KBUILD_DEFCONFIG points to
a file at arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG).

We would like to use a target, using merge_config, as our defconfig, so
adapt the logic in scripts/kconfig/Makefile to allow that.

To minimise the chance of breaking anything, we first check if
KBUILD_DEFCONFIG is a file, and if so we do the old logic. If it's not a
file, then we call the top-level Makefile with KBUILD_DEFCONFIG as the
target.

Signed-off-by: Michael Ellerman <[email protected]>
Acked-by: Michal Marek <[email protected]>
2015-10-01 16:52:03 +10:00
Linus Torvalds 605e9710fb Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
Pull kconfig updates from Michal Marek:
 - kconfig warns about junk characters in Kconfig files
 - merge_config.sh error handling
 - small cleanup

* 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
  merge_config.sh: exit on missing input files
  kconfig: Regenerate shipped zconf.{hash,lex}.c files
  kconfig: warn of unhandled characters in Kconfig commands
  kconfig: Delete unnecessary checks before the function call "sym_calc_value"
2015-09-08 14:17:38 -07:00
Sam Bobroff 78a6854e21 merge_config.sh: exit on missing input files
Add a check for the existence of input files and exit (with failure)
if they are missing.

Without this additional check, missing files produce error messages
but still result in an output file being generated and a successful
exit code.

Signed-off-by: Sam Bobroff <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-08-20 13:56:55 +02:00
Andreas Ruprecht 09cd75555c kconfig: Regenerate shipped zconf.{hash,lex}.c files
Update the shipped files generated by flex and gperf to support the
explicit use of "---help---" and to emit warnings for unsupported
characters on COMMAND tokens.

As I could not find out which flex/gperf version was used to generate
the previous version, I used flex 2.5.35  and gperf 3.0.4 from
Ubuntu 14.04 - this also leads to the big number of changed lines
in this patch.

Signed-off-by: Andreas Ruprecht <[email protected]>
Reviewed-by: Ulf Magnusson <[email protected]>
Tested-by: Ulf Magnusson <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-08-19 17:05:39 +02:00