summaryrefslogtreecommitdiff
path: root/kconfig
AgeCommit message (Collapse)AuthorFilesLines
2018-07-10kconfig: display recursive dependency resolution hint just onceMasahiro Yamada1-2/+6
Commit 1c199f2878f6 ("kbuild: document recursive dependency limitation / resolution") probably intended to show a hint along with "recursive dependency detected!" error, but it missed to add {...} guard, and the hint is displayed in every loop of the dep_stack traverse, annoyingly. This error was detected by GCC's -Wmisleading-indentation when switching to build-time generation of lexer/parser. scripts/kconfig/symbol.c: In function ‘sym_check_print_recursive’: scripts/kconfig/symbol.c:1150:3: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] if (stack->sym == last_sym) ^~ scripts/kconfig/symbol.c:1153:4: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’ fprintf(stderr, "For a resolution refer to Documentation/kbuild/kconfig-language.txt\n"); ^~~~~~~ I could simply add {...} to surround the three fprintf(), but I rather chose to move the hint after the loop to make the whole message readable. Fixes: 1c199f2878f6 ("kbuild: document recursive dependency limitation / resolution" Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by: Luis R. Rodriguez <mcgrof@kernel.org> [upstream commit e3b03bf29d6b99fab7001fb20c33fe54928c157a] Fixes #1000 Signed-off-by: Chris Packham <judge.packham@gmail.com>
2018-04-14Supply explicit --tag CCAlexey Neyman1-3/+2
... to libtool, to allow CC overrides at make stage. Fixes #940. Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07Merge steps.mk into ct-ngAlexey Neyman2-4/+3
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07Install "pure data" directoriesAlexey Neyman1-2/+7
... and update .gitignore. Survives 'make distcheck'. Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07Install ct-ngAlexey Neyman2-69/+3
Also, move kconfig.mk into the main driver - we'd want kconfig to be a sub-package so there's no sense in writing the installation framework for the ct-ng-specific fragment in an otherwise independent directory. Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07Enable mconf buildAlexey Neyman1-2/+6
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07Add nconf buildAlexey Neyman1-1/+6
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07WIP: autotoolizationAlexey Neyman2-118/+33
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07Remove special handling of dpkg-buildflagsAlexey Neyman1-12/+1
Instead, just honor CFLAGS/CPPFLAGS/LDFLAGS as they're passed down from configure. This brings the build process in compliance with the recommended practices. Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07Get rid of sub{lib,doc}dirAlexey Neyman1-2/+14
They don't make sense - using same ct-ng won't work with different versions, so they cannot coexist in the same prefix. Also localize other configure variables so that their usage is easier to track. Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07Use autoconfig-archve/automake testsAlexey Neyman1-15/+12
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-02-10Make defconfig (and a bunch of other targets) phonyAlexey Neyman1-0/+2
Otherwise, a file named `defconfig` (which is, ironically, the default name for the default config expected by this very makefile) prevents the defconfig target from being run. Signed-off-by: Alexey Neyman <stilor@att.net>
2018-02-01Sync kconfig files with upstream 4.15Bryan Hundven17-98/+174
Last updated with 4.9-rc7. This commit introduces the following upstream changes: 9059a3493efe kconfig: fix relational operators for bool and tristate symbols 88127dae6ed9 kconfig/symbol.c: use correct pointer type argument for sizeof b24413180f56 License cleanup: add SPDX GPL-2.0 license identifier to files with no license bb3290d91695 Remove gperf usage from toolchain ad8181060788 kconfig: fix sparse warnings in nconfig ff85a1a80e00 kconfig: Check for libncurses before menuconfig 9be3213b14d4 gconfig: remove misleading parentheses around a condition 83c3a1bad224 xconfig: fix missing suboption and help panels on first run e039303ff71a xconfig: fix 'Show Debug' functionality 79e51b5c2dee kconfig/nconf: Fix hang when editing symbol with a long prompt 0eb47346968f Scripts: kconfig: nconf: fix _GNU_SOURCE redefined warning 237e3ad0f195 Kconfig: Introduce the "imply" keyword Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2017-07-08Kconfigize choice/menu itemsAlexey Neyman1-0/+1
Also, add a poor man's upgrade script. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-06-08Fix debuild warnings/errorsAlexey Neyman2-2/+12
- Update .gitignore, do not place .gitignore into directories installed in bulk - Remove executable permissions and shebangs from the scripts that are supposed to be invoked only via ct-ng frontent; prepend them with $(bash). Despite what showSamples.sh said, it already has some bashisms. - Remove --with autotools-dev and override dh_update_autotools_config to avoid having config.{sub,guess} clobbered with older versions - Install bash completion where Debian (now) expects it - Update man page to use .\" as the comment delimiter, instead of undefined macro (."); also, minor text edits. - Install kconfig.mk without execute permission. - Remove shell wrappers from 170-localedef-fix-trampoline.patch, we do not use that for applying patches - Revoke execute permissions on 210-expat.sh - Get flags from dpkg-buildflags if available Signed-off-by: Alexey Neyman <stilor@att.net>
2017-04-23Retire BACKEND stuffAlexey Neyman1-5/+0
... it is possible to just not set it in the configuration, why force it? It just increases the complexity in Kconfig. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-04-23Use config from the install locationAlexey Neyman1-7/+8
... no need to create a local symlink. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-04-22Allow 'make V=1' to see the commands.Alexey Neyman1-20/+24
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-27Revert "Determine whether -E/-r option selects extended regexp"Alexey Neyman1-1/+1
This reverts commit 7bcf18bfab84374d3305c7a088f95ac1219ddf93.
2017-02-14Determine whether -E/-r option selects extended regexpAlexey Neyman1-1/+1
... and then use the right option. See the note in scripts/functions on where we should use ${foo} and where just 'foo'; this boils down to whether we can expect the build tools override to be in effect (e.g. in the actual build scripts) or not (i.e. outside of scripts/build). While running in scripts/functions, or in scripts/crosstool-NG.sh the build tools override directory (.build/tools/bin) may have not been set up (yet, or at all). Also, modify the installed scripts (populate, xldd) accordingly. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-13Add a check for gperf function signature.Alexey Neyman2-2/+3
Loosely based on: https://github.com/systemd/systemd/commit/c9f7b4d356a453a01aa77a6bb74ca7ef49732c08 Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-06Ignore *.exe (on Cygwin).Alexey Neyman1-0/+1
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-01kconfig: sync upstream changesBryan Hundven3-9/+28
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-08-04Update .gitignore in kconfig/...Bryan Hundven2-2/+4
Ignore `*.dep` and `*.o`. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-15configure: Correctly search for tinfo for kconfigBryan Hundven1-1/+1
I previously thought that tinfo could only be a link to libncurses in modern ncurses installations. I was wrong. Now we check for ncurses, then check for tinfo. If tinfo is a link to ncurses, it is then not required to link against. But if libtinfo is providing tgetent, and not libncurses, then we must add it to LIBS as well. Also, kconfig shouldn't hardcode -lncurses, it should use what is in $(LIBS). Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-13file modes: Set files to be non-executableBryan Hundven1-0/+0
I was going to start doing some autoconf work, and noticed that configure.in was executable. Then I noticed Makefile.in was executable. o.O So, I ran ```find . -type f -executable``` and found a bunch of files that shouldn't be set executable. This commit makes them normal files again. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-13Merge pull request #239 from diorcety-ctng/cc-cygwin-mingw-linuxBryan Hundven1-8/+1
Canadian cross build = x86_64 Cygwin host = x86_64 MinGW_W64 target = x86_64 GNU/Linux
2015-11-13Cygwin: Link to libintl for gettextRay Donnelly1-8/+1
Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-11-12kconfig: Add updates from linux-4.3 and 4.4Bryan Hundven5-17/+18
Add updates from the following merges: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/scripts/kconfig?id=605e9710fb5fef0dd2bb49d7b75e46601df62112 and https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/scripts/kconfig?id=152813e6e4bbb5f017e33eba7eb01bbda4b389b8 that apply to crosstool-ng. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-10-30Fix samples using GMP 4.3.2.Alexey Neyman1-5/+5
Some older versions of configure (including the one in GMP 4.3.2) interpret the $ECHO environment variable as the `echo' utility to use. CT-NG sets the variable to `:' and exports it if V=0 or V=1 is supplied, breaking the samples using such configure. This currently includes bfin-unknown-linux-uclibc and powerpc-unknown-linux-uclibc. Also, correct the description of the V= variable - V=0 is *not* the default; in fact, default does not correspond to any of the V=[012] values. Signed-off-by: Alexey Neyman <stilor@att.net>
2015-09-04kconfig: Update kconfig. Sync with Linux-4.2Bryan Hundven29-1087/+2114
This change updates the kconfig utility to what is shipped with 4.2.0. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-04-08build compat fix for mac os: define offsetof if it's missingLawrence D'Anna1-0/+9
When building on Mac OS, we don't seem to have offsetof when we need it for gperf-generated code. This patch solves that issue. Signed-off-by: Lawrence D'Anna <larry@elder-gods.org>
2014-12-05scripts/crosstool-NG.sh.in: patch regex to work with BSD grepJason T. Masker1-1/+1
BSD grep does not interpret a null alteration. It complains about an empty sub-expression, e.g.: $ grep --version && grep -E '^(# |)CT_' .config grep (BSD grep) 2.5.1-FreeBSD grep: empty (sub)expression This patch replaces the null alteration with a zero or once quantifier which works with both BSD & GNU grep. $ grep --version && grep -E '^(# )?CT_' .config grep (BSD grep) 2.5.1-FreeBSD CT_CONFIGURE_has_xz=y CT_CONFIGURE_has_svn=y ... $ ggrep --version && ggrep -E '^(# )?CT_' .config ggrep (GNU grep) 2.20 Copyright (C) 2014 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Mike Haertel and others, see <http://git.sv.gnu.org/cgit/grep.git/tree/AUTHORS>. CT_CONFIGURE_has_xz=y CT_CONFIGURE_has_svn=y ... Signed-off-by: Jason T. Masker <jason@masker.net> Tested-by: Andreas Bießmann <andreas@biessmann.de> Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-06-26repository: migrate old hg files over to gitYann E. MORIN1-0/+8
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-06-25all: fix wildcard to work with make-4.xYann E. MORIN"1-1/+1
In make-3.8x, the $(wildacrd) function would sort the entries, while in make-4.x, it would just return the entries in any unpredictable order [*] Use the $(sort) function to get reproducible behaviour. [*] Well, most probably the roder the entries appear when read from readdir() Reported-by: Andrew Ruder <andrew.ruder@elecsyscorp.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Tested-by: Andrew Ruder <andrew.ruder@elecsyscorp.com>
2013-09-14configure: Add --with-gperf optionRay Donnelly1-1/+1
On OS X, Apple supply an old gperf (3.0.3) with xcode and xcode commandline tools which causes build failures: ./zconf.hash.c:183:17: error: expected expression {offsetof(struct kconf_id_strings_t, kconf_id_strings_str2), .. upgrading to gperf 3.0.4 was sufficient to fix this, so this option allows the user to specify the gperf program that they wish to use. To install gperf 3.0.4 from homebrew, I did: brew tap homebrew/dupes brew install homebrew/dupes/gperf .. then passed --with-gperf=$BREWFIX/Cellar/gperf/3.0.4/bin/gperf to configure Signed-off-by: Ray Donnelly <mingw.android@gmail.com> Message-Id: <CAOYw7dtCmcJ9WiqmQ81MmZeRPcV-tDOqe9=kRDW4uQGuZNd2Ng@mail.gmail.com> Patchwork-Id: 274892
2013-07-17docs/help: rename defconfig/olddefconfig intoThomas De Schampheleire1-5/+5
After commit 15f57d843296e244487ac0845a73247f9d6749b8, the defconfig target has been renamed into savedefconfig, and olddefconfig into defconfig. However, the help text and man page was not updated. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> [yann.morin.1998@free.fr: rename CONFIG -> DEFCONFIG] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Message-Id: <0c1dff89c9ee1672693f.1374042343@BEANTN0L019720> Patchwork-Id: 259601
2013-01-21kconfig: rename the defconfig and olddefconfig targetsYann E. MORIN"1-3/+3
What 'defconfig' really does is save the current .config to a defconfig, so it is better named 'savedefconfig' (as other projects do). What 'olddefconfig' really does is create a .config from a defconfig, so rename it to 'defconfig' (as other projects do, too). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-08-15samples: add rule to dump current .config into a defconfigYann E. MORIN"1-1/+12
... and one to restore it, of course. Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-07-31kconfig: fix ncurses headers locationYann E. MORIN"1-1/+1
On some distors (eg. latesst openSuSE), the ncurses headers are not located in the usual location. Hard-code this location in the kconfig Makefile, as a (temporary?) workaround. Reported-by: Simon Gornall <sgornall@apple.com> [Fix suggested by Simon] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-07-14configure: check for GNU awk, not any awkYann E. MORIN"1-12/+12
Building glibc requires GNU awk, not any other. Reported-by: Han Sooloo <hansooloo@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-07-14kconfig: fix compatibility with older flex versionsThomas De Schampheleire1-1/+1
Older flex versions require there be no space between options and their arguments. For example '-P zconf' is not correct and should be '-Pzconf'. This is for example the case for flex-2.5.4 shipped with CentOS 5.8. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Message-Id: <9652ce148bddc1def484.1339241000@beantl019720>
2012-05-06samples: use savedefconfig when saving samplesYann E. MORIN"1-1/+2
When saving a sample, use savedefconfig instead of copying the full .config file. This reduces the saved .config, and reduces clutter when it is later upgraded. Also use defconfig when retrieving a sample. Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-01-15kconfig: add missing filesYann E. MORIN"7-5186/+1180
The real sources for a few files are the lex/yacc/gperf files, and the C files are only generated... Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-01-14kconfig: install compiled frontendsYann E. MORIN"2-161/+109
The kconfig frontends are currently instaleld as source files. This is a remnant of the early times, when I wanted a single installation of crosstool-NG to be shared across multiple machines, potentially of different architectures. This does not really make sense, and it's been a long time since it was las tpossible in practice. So, just build the kconfig frontends at make-time, and install them as we do for all other crosstool-NG dependent files. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-30kconfig: print version in .configYann E. MORIN"1-4/+1
Having the crosstool-NG version in the .config helps in case we want to reproduce the toolchain with the exact same version of crosstool-NG. This also reverts #bb73e7632b54. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-17misc: fix more typos here and there...Yann E. MORIN"1-2/+2
Reported-by: "Antony N. Pavlov" <antony@niisi.msk.ru> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-22kconfig: fix forward dependenciesYann E. MORIN"1-1/+1
In case a set of options are conditional to two different paths, the forward dependencies in these options is wrong, but in the first path. Fix by Arnaud Lacombe on linux-kbuild ML: http://www.spinics.net/lists/linux-kbuild/msg04832.html Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-12kconfig: add the nconf frontendYann E. MORIN"4-4/+2300
The nconf frontend is the new hot topic in the kconfig land! :-) Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-12kconfig: remove mis-leading messagesYann E. MORIN"3-7/+3
Unlinke the Linux kernel, crosstool-NG does not (directly) use make as a frontend, so remove any occurence of reference to running make after the configuration. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>