Commit Graph

82 Commits

Author SHA1 Message Date
Yann E. MORIN"
99a6ddf3be samples: use savedefconfig when saving samples
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-05-07 00:27:05 +02:00
Yann E. MORIN"
e0babe6738 kconfig: add missing files
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-15 01:04:26 +01:00
Yann E. MORIN"
cb7fcbe1ef kconfig: install compiled frontends
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>
2012-01-14 18:22:06 +01:00
Yann E. MORIN"
6c62da4803 kconfig: print version in .config
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-08-30 11:35:29 +02:00
Yann E. MORIN"
c009897aee misc: fix more typos here and there...
Reported-by: "Antony N. Pavlov" <antony@niisi.msk.ru>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-17 16:53:40 +02:00
Yann E. MORIN"
d855275562 kconfig: fix forward dependencies
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-22 17:44:34 +02:00
Yann E. MORIN"
df1b44cd26 kconfig: add the nconf frontend
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-12 19:45:30 +02:00
Yann E. MORIN"
82250e56c7 kconfig: remove mis-leading messages
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>
2011-05-12 19:46:23 +02:00
Yann E. MORIN"
bb27382f3b kconfig: fix choice multi-display
In case a choices has different combinations, it can be displayed
more than once.

See the discussion thread on the linux-kbuild ML:
  http://www.spinics.net/lists/linux-kbuild/msg04709.html

The fix applied here was proposed by Arnaud LACOMBE.
That fix, or a similar one, will probably be pushed upstream soon.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-10 22:45:33 +02:00
Yann E. MORIN"
3796ca5885 kconfig: don't trim spaces with leading pipe
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-08 15:12:55 +02:00
Yann E. MORIN"
c1053caf91 kconfig: do not warn on missing env variable
In crosstool-NG, we use env variables for the backend mode.
So it is perfectly legit that these variables are not set.
So do not warn about it.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-08 14:57:09 +02:00
Yann E. MORIN"
084a8e18f5 kconfig: update from linux-next
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-08 14:14:40 +02:00
Yann E. MORIN"
ddac60504f kconfig: resync curses check with Linux kernel
check-lxdialog.sh breaks on 64-bit distributions which are lacking
the lib -> lib64 symlinks (eg. some Fedora).

The script from the 2.6.35 Linux kernel is reportedly functional
on the systems that were requiring the current hack. See:
  http://sourceware.org/ml/crossgcc/2010-09/msg00113.html

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-04 00:16:56 +02:00
Titus von Boxberg
5428b220d6 kconfig/lxdialog: more portable and use ncurses from macports on MacOS
check-lxdialog.sh now correctly tests for ncurses and is a bit more portable.
On Darwin it uses the ncurses from macports.
2010-05-24 16:33:45 +02:00
Yann E. MORIN"
24cb85167d kconfig: silence a warning about undefined env variable
When using an environment variable to set a config entry,
don'twarn if it is not defined. Update doc accordingly.
2010-03-05 09:43:00 +01:00
Yann E. MORIN"
013230cda9 scripts: add action to extract config from a build.log file
That got removed quite some time ago, but is really usefull to get the
configuration from a build.log file of a failing build.
2010-02-11 21:28:10 +01:00
Yann E. MORIN"
0233ac8534 kconfig: allow stdin/stdout redirection
Allow stdin/stdout redirection for the CLI conf (not mconf).
This allows to recall a sample and automatically apply the defaults
to new configuration option, with something like the following:
 yes "" |ct-ng "sample_name"
2009-09-08 22:42:48 +02:00
Yann E. MORIN"
1563aa9ea5 Under Cygwin, executables have the .exe suffix:
- cleanup conf.exe and mconf.exe as well as their non-.exe counterparts.

 /trunk/kconfig/kconfig.mk |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2009-03-09 22:01:59 +00:00
Yann E. MORIN"
a14760d58f Update the kconfig stuff from git.kernel.org.
Commit 7826005e5a53645d7aab7c13eda76126eadebf0b

 /trunk/kconfig/lex.zconf.c |    7     5     2     0 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
2009-03-06 12:39:04 +00:00
Yann E. MORIN"
03e2d3f07e Update the kconfig stuff from git.kernel.org.
Commit cf82607a904d3b2ed3d66f8799f00d1099c1849c

 /trunk/kconfig/expr.h |   40    30    10     0 ++++++++++++++++++++++++++++++----------
 1 file changed, 30 insertions(+), 10 deletions(-)
2009-03-06 12:35:58 +00:00
Yann E. MORIN"
3520b36f95 Update the kconfig stuff from git.kernel.org.
Commit 5b2cf365a8e9bbf781939e941ed548c9743fdeea

 /trunk/kconfig/expr.h |   34    18    16     0 ++++++++++++++++++----------------
 1 file changed, 18 insertions(+), 16 deletions(-)
2009-03-06 12:33:41 +00:00
Yann E. MORIN"
4cf1baf7ba Update the kconfig stuff from git.kernel.org.
Commit eaa2a87460eca27ce725d63bbcf3b2da053828b7

 /trunk/kconfig/expr.h |    8     6     2     0 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
2009-03-06 12:19:33 +00:00
Yann E. MORIN"
75565cecde Update the kconfig stuff from git.kernel.org.
Commit f6682f915760ccfe57ef1b6cd5ff2d8f2bf8c1d4

 /trunk/kconfig/lxdialog/check-lxdialog.sh |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2009-03-04 18:56:07 +00:00
Yann E. MORIN"
b95eac9255 Update the kconfig stuff from git.kernel.org.
Commit ce97e13e52848c6388598696b7d44748598db759

 /trunk/kconfig/confdata.c |    3     1     2     0 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
2009-03-04 18:54:37 +00:00
Yann E. MORIN"
c7a1e6a4da Use the paths found by ./configure in the ct-ng.in makefile script and its fragments.
/trunk/kconfig/kconfig.mk |    2     1     1     0 +-
 /trunk/samples/samples.mk |   18     9     9     0 +++++++++---------
 /trunk/config/config.mk   |   10     5     5     0 +++++-----
 /trunk/ct-ng.in           |   22    13     9     0 +++++++++++++---------
 4 files changed, 28 insertions(+), 24 deletions(-)
2009-01-26 18:36:02 +00:00
Yann E. MORIN"
145d0cad94 Make the kconfig stuff build under Cygwin.
/trunk/kconfig/kconfig.mk                 |    7     5     2     0 ++++--
 /trunk/kconfig/lxdialog/check-lxdialog.sh |   44    21    23     0 ++++++++++++++++++-------------------
 2 files changed, 26 insertions(+), 25 deletions(-)
2008-11-30 20:59:15 +00:00
Yann E. MORIN"
301fbac58e Merge 1199 and 1200 from /devel/YEM-build_host_target_cleanup:
- Allow hand-indentation in the kconfig prompts
- Start documenting the kconfig deviations from the kernel's version

 /trunk/kconfig/menu.c    |   10     8     2     0 ++++++++--
 /trunk/docs/overview.txt |    6     6     0     0 ++++++
 2 files changed, 14 insertions(+), 2 deletions(-)
2008-11-13 17:55:16 +00:00
Yann E. MORIN"
247b7bcac6 Enhance the kconfig stuff build procedure:
- better allocate CFLAGS/LDFLAGS to object and dependency files
 - only include the needed dependency files
 - cleanly handle the kconfig/ check and creation
 - use HOST_LD to link, not HOST_CC (even if both are set to 'gcc' for now)
 - get rid of defoldconfig, it does not make much sense using it.

 /trunk/kconfig/kconfig.mk |  110    66    44     0 ++++++++++++++++++++++++++++++++---------------------
 1 file changed, 66 insertions(+), 44 deletions(-)
2008-10-22 16:56:23 +00:00
Yann E. MORIN"
84588069df Avoid (re)building the kconfig dependencies when we don't need them (clean, build, list-steps...).
/trunk/kconfig/kconfig.mk |   24    20     4     0 ++++++++++++++++++++----
 1 file changed, 20 insertions(+), 4 deletions(-)
2008-10-19 09:34:32 +00:00
Yann E. MORIN"
8d042db1d6 Extract the config files related stuff from the kconfig stuff
- create config/config.mk, with all the config.gen/ rules
- the only common points between config files and configurators:
  - the top-level config file to include, stored in KCONFIG_TOP
  - the config_file rules, which makes config files available to configurators
- dependency-files are renamed from %.d to %.dep (.d is reserved for directories)
- a few eye-candy here and there

 /trunk/kconfig/kconfig.mk |  184    12   172     0 +++--------------------------------------------------
 /trunk/config/config.mk   |  118     9   109     0 +++-------------------------------
 /trunk/ct-ng.in           |    1     1     0     0 +
 3 files changed, 22 insertions(+), 281 deletions(-)
2008-10-18 18:37:28 +00:00
Yann E. MORIN"
f31bcd0026 Update the kconfig stuff to match the one in the linux-2.6.27 version.
/trunk/kconfig/zconf.hash.c         |  225   110   115     0 +++----
 /trunk/kconfig/lkc_proto.h          |    4     3     1     0 +
 /trunk/kconfig/mconf.c              |  217   110   107     0 +++---
 /trunk/kconfig/menu.c               |   86    60    26     0 ++-
 /trunk/kconfig/symbol.c             |  212   156    56     0 ++++--
 /trunk/kconfig/kconfig.mk           |   24     9    15     0 -
 /trunk/kconfig/lex.zconf.c          |   97    80    17     0 ++-
 /trunk/kconfig/util.c               |   38    30     8     0 +
 /trunk/kconfig/lkc.h                |   22    18     4     0 +
 /trunk/kconfig/expr.c               |   32    19    13     0 +
 /trunk/kconfig/confdata.c           |  254   172    82     0 +++++---
 /trunk/kconfig/lxdialog/dialog.h    |   12     9     3     0 +
 /trunk/kconfig/lxdialog/inputbox.c  |    6     3     3     0
 /trunk/kconfig/lxdialog/checklist.c |    4     2     2     0
 /trunk/kconfig/lxdialog/menubox.c   |    6     3     3     0
 /trunk/kconfig/lxdialog/textbox.c   |    2     1     1     0
 /trunk/kconfig/lxdialog/util.c      |   47    30    17     0 +
 /trunk/kconfig/lxdialog/yesno.c     |    4     2     2     0
 /trunk/kconfig/expr.h               |   20    10    10     0
 /trunk/kconfig/zconf.tab.c          | 1441   793   648     0 ++++++++++++++++++++++++-------------------
 /trunk/kconfig/conf.c               |  276   124   152     0 ++++----
 /trunk/kconfig/check-gettext.sh     |   14    14     0     0 +
 /trunk/ct-ng.in                     |    2     1     1     0
 23 files changed, 1759 insertions(+), 1286 deletions(-)
2008-10-17 12:47:53 +00:00
Yann E. MORIN"
c54f4302cd Fix oldconfig and defoldconfig.
Thanks Thomas Petazzoni for noticing the breakage.

 /trunk/kconfig/kconfig.mk |    4     2     2     0 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
2008-10-17 09:51:19 +00:00
Yann E. MORIN"
4e7d6836a5 Cheesy kconfig stuff:
- silent/quiet/verbose build:
   - ct-ng by default only prints quit messages, such as "CC xxx",
   - if using V=0, nothing is printed,
   - if using V=1, the full command lines are printed,
   - other values are indeterminate,
   - should help in debugging the kconfig stuff;
 - complete kconfig/{,m}conf generation:
   - fully dynamic dependencies on source files,
   - compilation of .c into .o, then linking (instead of direct linking),
   - VPATH usage when not --local;
Typo + a coment moved.

 /trunk/kconfig/kconfig.mk |  140    87    53     0 +++++++++++++++++++++++++++++++++--------------------
 /trunk/tools/tools.mk     |   12     6     6     0 ++--
 /trunk/steps.mk           |    6     3     3     0 +-
 /trunk/samples/samples.mk |   30    15    15     0 +++++-----
 /trunk/ct-ng.in           |   40    28    12     0 +++++++++++----
 5 files changed, 139 insertions(+), 89 deletions(-)
2008-10-15 21:29:56 +00:00
Yann E. MORIN"
4b27b41f41 Rework the kconfig stuff
- better handle config file generation dependencies
 - get rid of CT_TOP_DIR where useless
 - rearrange code to be cleaner, and add adequate '#----' comments to split the different parts
 - a few eye-candy here and there

 /trunk/kconfig/kconfig.mk |  158    99    59     0 +++++++++++++++++++++++++++++++++--------------------
 1 file changed, 99 insertions(+), 59 deletions(-)
2008-10-14 16:50:33 +00:00
Yann E. MORIN"
ab048ad81d No one sane would you 'ct-ng config' to configure crosstool-NG.
Remove this useless rule.

 /trunk/kconfig/kconfig.mk |    8     2     6     0 ++------
 /trunk/ct-ng.comp         |    2     1     1     0 +-
 2 files changed, 3 insertions(+), 7 deletions(-)
2008-10-13 20:36:37 +00:00
Yann E. MORIN"
5ae048e78b Generate the choice menu for C compilers, the same way arch, kernels and C libraries are generated.
/trunk/kconfig/kconfig.mk |    6     6     0     0 ++++++
 /trunk/config/cc/gcc.in   |   13    13     0     0 +++++++++++++
 /trunk/config/cc.in       |   31     3    28     0 +++----------------------------
 3 files changed, 22 insertions(+), 28 deletions(-)
2008-10-13 16:58:52 +00:00
Yann E. MORIN"
d2fe51a715 Generate the choice menu for C libraries, the same way arch and kernels are generated.
/trunk/kconfig/kconfig.mk          |   10     8     2     0 ++++++--
 /trunk/scripts/build/libc/glibc.sh |    2     1     1     0 +-
 /trunk/config/libc/glibc.in        |   22     6    16     0 +++++-------------
 /trunk/config/libc/uClibc.in       |    7     6     1     0 +++++-
 /trunk/config/libc/eglibc.in       |   12    11     1     0 +++++++++-
 /trunk/config/libc.in              |   53     4    49     0 +++-----------------------------------------
 6 files changed, 36 insertions(+), 70 deletions(-)
2008-10-13 11:23:51 +00:00
Yann E. MORIN"
c7df47dcea In generated choice menus, move the selection options outside the choice menu.
/trunk/kconfig/kconfig.mk |   60    35    25     0 +++++++++++++++++++++++++++++++----------------------
 /trunk/config/kernel.in   |    6     0     6     0 -----
 /trunk/config/target.in   |    6     0     6     0 -----
 3 files changed, 35 insertions(+), 37 deletions(-)
2008-10-12 11:22:46 +00:00
Yann E. MORIN"
82c9d1aceb Simplify the Tools and Debug facilities menu entries:
- each config file no longer have to define their own 'menuconfig foo - if FOO - endif' gym
 - each build script no longer has to say wether they are enabled
 - generation of the 'menuconfig' entries for the Tools and Debug facilities now uses the same code
Some re-ordering of the code to be consistent with the steps ordering (tools, then debug).

 /trunk/kconfig/kconfig.mk                  |   66    43    23     0 +++++++++++++++++++++++-------------
 /trunk/scripts/build/debug.sh              |   14     9     5     0 +++++---
 /trunk/scripts/build/tools/000-template.sh |    7     0     7     0 ----
 /trunk/scripts/build/tools/100-libelf.sh   |    3     0     3     0 --
 /trunk/scripts/build/tools/200-sstrip.sh   |    2     0     2     0 -
 /trunk/scripts/build/debug/000-template.sh |    7     0     7     0 ----
 /trunk/scripts/build/debug/100-dmalloc.sh  |    3     0     3     0 --
 /trunk/scripts/build/debug/400-ltrace.sh   |    3     0     3     0 --
 /trunk/scripts/build/debug/300-gdb.sh      |    3     0     3     0 --
 /trunk/scripts/build/debug/500-strace.sh   |    3     0     3     0 --
 /trunk/scripts/build/debug/200-duma.sh     |    3     0     3     0 --
 /trunk/scripts/build/tools.sh              |   14     9     5     0 +++++---
 /trunk/scripts/crosstool.sh                |    2     1     1     0
 /trunk/config/debug/ltrace.in              |   14     3    11     0 ++------
 /trunk/config/debug/dmalloc.in             |    9     1     8     0 +----
 /trunk/config/debug/gdb.in                 |    9     1     8     0 +----
 /trunk/config/debug/strace.in              |   10     1     9     0 -----
 /trunk/config/debug/duma.in                |   10     1     9     0 -----
 /trunk/config/tools/libelf.in              |   12     2    10     0 +------
 /trunk/config/tools/sstrip.in              |   10     1     9     0 -----
 /trunk/config/config.in                    |    4     2     2     0 +-
 21 files changed, 74 insertions(+), 134 deletions(-)
2008-10-10 14:30:44 +00:00
Yann E. MORIN"
f2463146eb Commonalise config.gen/{arch,kernel}.in generation.
/trunk/kconfig/kconfig.mk |   76    34    42     0 ++++++++++++++++++++++++-----------------------------
 1 file changed, 34 insertions(+), 42 deletions(-)
2008-10-09 17:40:15 +00:00
Yann E. MORIN"
b8d189b296 Separate the architecture config file and function script.
/trunk/kconfig/kconfig.mk   |   46    23    23     0 +++++++++++++++++++++++-----------------------
 /trunk/scripts/crosstool.sh |    2     1     1     0 +-
 /trunk/docs/overview.txt    |   28    11    17     0 +++++++++++-----------------
 3 files changed, 35 insertions(+), 41 deletions(-)
2008-10-05 15:32:00 +00:00
Yann E. MORIN"
601ec482e1 First shot at moving arch/ into config/arch/ .
/trunk/kconfig/kconfig.mk |    4     2     2     0 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
2008-10-03 12:30:29 +00:00
Yann E. MORIN"
16c6cc994f Save the toolchain configuration to its own file, as an auto-extracting shell script:
- get rid of the 'extractconfig' action, it was cumbersome to use, and badly documented,
 - introduce a skeleton for the config script,
 - update auto-completion,
 - document the config script.

 /trunk/kconfig/kconfig.mk        |    9     2     7     0 ++-------
 /trunk/scripts/crosstool.sh      |    6     5     1     0 +++++-
 /trunk/docs/overview.txt         |   21     9    12     0 +++++++++------------
 /trunk/tools/toolchain-config.in |    8     8     0     0 ++++++++
 /trunk/ct-ng.comp                |    2     1     1     0 +-
 5 files changed, 25 insertions(+), 21 deletions(-)
2008-10-01 18:10:40 +00:00
Yann E. MORIN"
8b1e61df9d Rework the way EXPERIMENTAL architecture are marked as such, the same way kernels are handeld.
Fix marking EXPERIMENTAL kernel when using --prefix.

 /trunk/kconfig/kconfig.mk  |   44    22    22     0 ++++++++++++++++++++++----------------------
 /trunk/arch/ia64/config.in |    1     1     0     0 +
 /trunk/arch/sh/config.in   |    1     1     0     0 +
 3 files changed, 24 insertions(+), 22 deletions(-)
2008-09-29 20:51:16 +00:00
Yann E. MORIN"
cce0841d96 Rework the way EXPERIMENTAL kernels are marked as such.
/trunk/kconfig/kconfig.mk          |   51    25    26     0 ++++++++++++++++++++++----------------------
 /trunk/docs/overview.txt           |   47    47     0     0 +++++++++++++++++++++++++++++++++++++++++
 /trunk/config/kernel/bare-metal.in |    1     1     0     0 +
 3 files changed, 73 insertions(+), 26 deletions(-)
2008-09-29 20:19:45 +00:00
Yann E. MORIN"
472756d364 Don't remove files that are no longer generated whne cleaning in kconfig/ .
/trunk/kconfig/kconfig.mk |    1     0     1     0 -
 1 file changed, 1 deletion(-)
2008-09-28 10:35:55 +00:00
Yann E. MORIN"
8b2aad9f00 Simplify conf and mconf generation. We don't care for the _shipped stuff.
/trunk/kconfig/kconfig.mk |    4     0     4     0 ----
 1 file changed, 4 deletions(-)
2008-09-28 10:33:30 +00:00
Yann E. MORIN"
0460d997cc Fix generated debug.in and tools.in (xlcwu <xlcwu.taiwan@gmail.com>).
Some cosmetics at the same time.

 /trunk/kconfig/kconfig.mk |    8     4     4     0 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
2008-09-28 08:14:33 +00:00
Yann E. MORIN"
c36b921790 Generate the kernel config choice, rather than having it hard-coded:
- change the menu label from 'Target OS' to 'Operating System',
  - bare-metal is a kind of kernel (OS), rename to 'bare-metal' from 'none',
  - update the kconfig.mk to generate the kernel choice entries,
  - update glibc&eglibc kernel version option accordingly.
Update the debug & tools confiog file generation to match with arch & kernel.
Print terse command lines when building in kconfig/ (a-la Linux kernel).
Fix the makefile rules in kconfig/kconfig.mk to be /simple/ rules.

 /trunk/kconfig/kconfig.mk                       |  117    81    36     0 +++++++++++++++++++++----------
 /trunk/config/kernel/linux.in                   |    4     4     0     0 +
 /trunk/config/kernel/bare-metal.experimental.in |   15    15     0     0 ++++
 /trunk/config/kernel.in                         |   33     5    28     0 +--------
 /trunk/config/libc/glibc-eglibc-common.in       |    4     2     2     0
 5 files changed, 107 insertions(+), 66 deletions(-)
2008-09-16 17:39:40 +00:00
Yann E. MORIN"
59b1a0929d Don't advertise 'xconfig' as a config rule.
/trunk/kconfig/conf.c |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-09-16 14:32:07 +00:00