Commit Graph

104 Commits

Author SHA1 Message Date
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
Yann E. MORIN"
26713d4210 Merge the build system to trunk: ct-ng is now installable:
- ./configure --prefix=/some/place
 - make
 - make install
 - export PATH="${PATH}:/some/place/bin"
 - ct-ng <action>
2007-07-01 19:04:20 +00:00
Yann E. MORIN"
253edb125b Rework the help system. For now, this is mostly a no-op (it only re-organise the help entries), but later, that may come in handy when we want ct-ng to be installable). 2007-06-17 16:24:23 +00:00
Yann E. MORIN"
eefa05172a Answer default values when doing a defoldconfig. 2007-06-16 20:47:58 +00:00
Yann E. MORIN"
5486810b76 When doing a silent old config, don't check if stdin was redirected. ct-ng doesn't use this feature, and even better yet, it makes explicit use of redirecting both stdin and stdout at aome moments. 2007-06-16 20:45:03 +00:00
Yann E. MORIN"
bbf7b2ed16 Rework the generated config file handling. 2007-06-16 18:01:59 +00:00
Yann E. MORIN"
51554bf237 Introduce the notion of tols facilities (none so far, sstrip coming right away...). 2007-06-01 16:55:33 +00:00
Yann E. MORIN"
340c3e2030 Make the debug config menu a generated file.
Add a uClibc-0.9.29 patch directory with one patch (from me!).
Update the armeb-unknown-linux-uclibc sample to uClibc-0.9.29.
Some eyecandy in the gdb build process.
2007-05-17 22:10:48 +00:00
Yann E. MORIN"
ae66018803 Quiet some messages from the configurators. We don't need them. 2007-05-14 19:28:14 +00:00
Yann E. MORIN"
7ed70a0028 Correctly handle the version string, defined in a single place now.
Fix and update README.
2007-05-13 19:03:49 +00:00
Yann E. MORIN"
58b4c6d0a4 Merge the save-sample branch to trunk:
- reorder most of the environment setup,
 - geting, extracting and patching are now components' sub-actions,
 - save the current config as a sample to be used as a pre-configured target.
2007-05-07 09:04:02 +00:00
Yann E. MORIN"
94a79a1186 Remove the superfluous _config suffix to preconfigured targets (in "make help"). 2007-05-01 16:32:52 +00:00
Yann E. MORIN"
afaffaea38 Update to latest kconfig from linux-2.6.20.7.
I'm not sure of the improvements, but at least we're up-to-date, and updating in the future will be easier.
2007-04-15 16:45:11 +00:00
Yann E. MORIN"
19e8f6a15a Auto-detect Darwin (MacOS-X) and disable libintl for during build for this platform.
A bit of help tweaking.
2007-03-12 18:59:31 +00:00
Yann E. MORIN"
d16255f5e5 Allan Clark <allanc@chickenandporn.com> provided a way to build on host lacking a proper libintl (such as MacOS-X).
Thank you Allan!
2007-03-11 16:14:06 +00:00
Yann E. MORIN"
e8f034284b utilising -> using 2007-03-04 22:37:11 +00:00
Yann E. MORIN"
3f3aef0db7 Remove useless config targets. 2007-02-24 19:17:40 +00:00
Yann E. MORIN"
1906cf93f8 Add the full crosstool-NG sources to the new repository of its own.
You might just say: 'Yeah! crosstool-NG's got its own repo!".
Unfortunately, that's because the previous repo got damaged beyond repair and I had no backup.
That means I'm putting backups in place in the afternoon.
That also means we've lost history... :-(
2007-02-24 11:00:05 +00:00