Commit Graph

67 Commits

Author SHA1 Message Date
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
Yann E. MORIN"
3e527cffc3 Fix architecture config file make rules.
/trunk/kconfig/kconfig.mk |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-09-15 21:03:24 +00:00
Yann E. MORIN"
21fdd0774c Rebuild the kconfig stuff on kconfig source change.
/trunk/kconfig/kconfig.mk |   14    12     2     0 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)
2008-08-30 15:23:12 +00:00
Yann E. MORIN"
679fd52ed1 Michael ABBOTT reported that Ubuntu had problems running menuconfig.
Turned out that a POSIX script shell was in fact not POSIX: == does not check for equality, -eq does.

 /trunk/kconfig/lxdialog/check-lxdialog.sh |    4     2     2     0 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
2008-07-22 09:16:07 +00:00
Yann E. MORIN"
22bd5ce4ca Although working with bash, 'echo -n' is really non-portable.
Get rid of this by using printf(1) with no trailing new-line (\n).
Again, thanks to Martin GUY, who pointed this issue.

 /trunk/kconfig/kconfig.mk           |    2     1     1     0
 /trunk/scripts/build/libc_uClibc.sh |    4     3     1     0 ++
 /trunk/scripts/showSamples.sh       |   78    39    39     0 +++++++++++++++++++++---------------------
 3 files changed, 43 insertions(+), 41 deletions(-)
2008-07-07 21:25:57 +00:00
Yann E. MORIN"
62744e84e7 Autogenerate the architecture selection choice menu.
Update architectures definition files accordingly.
Update documentation accordingly.
Use makefile syntax when listing arch/, tools/ and debug/ config files.

 /trunk/kconfig/kconfig.mk     |   32    29     3     0 +++++++++++++++--
 /trunk/docs/overview.txt      |   75    67     8     0 +++++++++++++++++++++++++++++++++++----
 /trunk/config/target.in       |   94    16    78     0 ++++++++-----------------------------------------
 /trunk/arch/arm/config.in     |    6     5     1     0 +++
 /trunk/arch/powerpc/config.in |    2     2     0     0 +
 /trunk/arch/ia64/config.in    |    4     4     0     0 ++
 /trunk/arch/alpha/config.in   |    2     1     1     0
 /trunk/arch/x86/config.in     |    3     3     0     0 ++
 /trunk/arch/mips/config.in    |    5     5     0     0 +++
 /trunk/arch/sh/config.in      |    4     3     1     0 ++
 /trunk/arch/x86_64/config.in  |    3     3     0     0 ++
 11 files changed, 138 insertions(+), 92 deletions(-)
2008-06-27 13:58:53 +00:00
Yann E. MORIN"
2fe3a9dbbb Don't use /bin/sh for crosstool-NG build scripts, we want /bin/bash!
Don't hardcode ncurses include and link flags.
2007-09-12 17:35:07 +00:00
Yann E. MORIN"
a1d03e8c79 In a directory previously used as CT_TOP_DIR, when using a new version, ct-ng will fail to create the symlink to the new config files.
Fix that by forcing creation of the symlink, even if it already exists and points to a previous location.
2007-09-08 10:32:53 +00:00
Yann E. MORIN"
54cca9f2ba Add the possibility to force the number of // jobs without reconfiguring. 2007-08-15 14:59:37 +00:00
Yann E. MORIN"
f38b71646a Re-instate the --local configure switch to not install and use the local crosstool-NG copy. 2007-07-22 17:44:27 +00:00
Yann E. MORIN"
d5db172ef4 Revisit the extract-config way of working: ct-ng is the sole entry point to crosstool-NG, and ct-ng.extrac-config no longer exists. You now have to call "ct-ng extractconfig </path/to/your/build.log" instead. 2007-07-17 21:44:33 +00:00
Yann E. MORIN"
e9916d58e9 Rename all Makefiles used by ct-ng into (something).mk, to avoid confusion. 2007-07-15 09:09:04 +00:00
Yann E. MORIN"
caab647ef2 Fix distclean. 2007-07-15 08:37:22 +00:00
Yann E. MORIN"
396ef34c2e Make distclean work again: don't try to remove a directory twice. 2007-07-08 17:56:13 +00:00
Yann E. MORIN"
477605c70c Clean a little bit more. 2007-07-07 17:21:59 +00:00
Yann E. MORIN"
9265403b8b Get rid of eclipse fiels once and for all.
Homogenise the references to crosstool-NG:
  - the project is named "crosstool-NG"
  - the front-end is named "ct-ng"
  - don't use shortcuts (such as "ct-ng" to stand for "crosstool-NG")
Default action is to print help.
Don't speak of make rules when dumping help, just speak of actions.
2007-07-02 19:40:54 +00:00