Commit Graph

319 Commits

Author SHA1 Message Date
Yann E. MORIN"
93c2e1f7fb Install the config script following the naming of other files, eg. "${CT_TARGET}-" instead of "${CT_TARGET}." .
/trunk/scripts/crosstool.sh |    4     2     2     0 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
2008-10-06 21:23:31 +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"
dcb7ca29ba Fourth shot at moving arch/ into config/arch/ .
/trunk/scripts/crosstool.sh |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-10-03 13:01:10 +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"
6731142c39 Better handle the second pass core gcc build, differentiating between gcc prior to 4.3 with gcc from 4.3.
Simplify detecting wether gcc is 4.3 and later, or older than 4.3 (we already know from .config).

 /trunk/scripts/build/cc/gcc.sh |   22    13     9     0 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)
2008-09-30 18:19:18 +00:00
Yann E. MORIN"
47221dfa6a Restore the ability to build gcc older than 4.3. At last!
/trunk/scripts/build/cc/gcc.sh |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-09-29 12:02:47 +00:00
Yann E. MORIN"
b000bc94cd In the glibc and eglibc trees, the 'configure' files may be older than their source 'configure.in', when used from an svn check out, or a snapshot tarball.
They are nonetheless in sync and need not be regenerated.
Fix that by touching the files to have 'make' believe they are up-to-date (which they are).

 /trunk/scripts/build/libc/glibc.sh  |    5     5     0     0 +++++
 /trunk/scripts/build/libc/eglibc.sh |    7     6     1     0 ++++++-
 2 files changed, 11 insertions(+), 1 deletion(-)
2008-09-28 21:34:11 +00:00
Yann E. MORIN"
6c54fde8fd Bart De VOS pointed out that removing absolute paths from the libc linker scripts is plainly wrong.
It dates from dawn ages of the original crosstool code, and is not well explained. At that time, binutils might not understand the sysroot stuff, and it was necessary to remove absolute paths in that case.

 /trunk/scripts/build/libc/glibc.sh |   14     2    12     0 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)
2008-09-23 14:48:10 +00:00
Yann E. MORIN"
8935b10421 Rework the eglibc download so as to be a little bit saner.
/trunk/scripts/build/libc/eglibc.sh |   25    15    10     0 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)
2008-09-22 19:51:29 +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"
b6a8c7318d Move all the Linux kernel config options to a single file (to ease supporting more than one kernel).
Rename some Linux kernel config options (ditto).
Update the addToolsVersion.sh script.

 /trunk/scripts/build/kernel/linux.sh |   13     6     7     0 +--
 /trunk/tools/addToolVersion.sh       |  105    37    68     0 +++++++--------------
 /trunk/config/kernel/linux.in        |  211   189    22     0 ++++++++++++++++++++++++++++++++++++++----
 3 files changed, 232 insertions(+), 97 deletions(-)
2008-09-15 14:52:29 +00:00
Yann E. MORIN"
070411306a DUMA: don't log twice through the logger.
/trunk/scripts/build/debug/100-dmalloc.sh |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-09-15 14:41:09 +00:00
Yann E. MORIN"
46bd8b45c7 The Linux kernel does not need a config file now that the old methods are removed.
So, don't save the Linux kernel config file when saving a sample, there will never be such a file any longer.

 /trunk/scripts/saveSample.sh |   13     0    13     0 -------------
 1 file changed, 13 deletions(-)
2008-09-15 09:51:10 +00:00
Yann E. MORIN"
02d2b29cda Enhance setting the minimum kernel version glibc will run against.
Ideally, eglibc should also benefit for that, but the current code does not set it.

 /trunk/scripts/build/libc/glibc.sh        |   38    33     5     0 +++++++++++++++---
 /trunk/config/libc/glibc.in               |    4     2     2     0 +-
 /trunk/config/libc/uClibc.in              |    2     2     0     0 +
 /trunk/config/libc/eglibc.in              |    4     2     2     0 +-
 /trunk/config/libc/glibc-eglibc-common.in |   80    68    12     0 +++++++++++++++++++++++++++++++------
 /trunk/config/libc.in                     |   69    38    31     0 ++++++++++++++++++--------------
 6 files changed, 145 insertions(+), 52 deletions(-)
2008-09-14 18:09:36 +00:00
Yann E. MORIN"
91a8de54e4 Beautify somewhat the WiKi table for narrow screens.
/trunk/scripts/showSamples.sh |    6     3     3     0 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
2008-09-14 16:54:12 +00:00
Yann E. MORIN"
799672a641 Introduce a new EXPERIMENTAL feature: BARE_METAL.
This should ultimately llow to build bare-metal compilers, for targets that have no kernel and no C library.
Move the C library build script to their own sub-directory; introduce an empty build script for bare-metal.
Move the compiler build script to its own sub-directory.
Move the kernel build script to its own sub-directory; introduce an empty build script for bare-metal.
Update the ARM target tuples to enable bare-metal targets.
Add two ARM bare-metal samples.
Add latest Linux kernel versions.

 /trunk/scripts/build/kernel/none.sh              |   77     6    71     0 +----
 /trunk/scripts/build/cc/gcc.sh                   |   58    41    17     0 ++-
 /trunk/scripts/build/libc/none.sh                |  513     9   504     0 +-----------------------------
 /trunk/scripts/crosstool.sh                      |   17     9     8     0 +
 /trunk/scripts/functions                         |    6     4     2     0 +
 /trunk/scripts/showSamples.sh                    |    6     3     3     0
 /trunk/samples/arm-unknown-elf/crosstool.config  |  225   225     0     0 +++++++++++++
 /trunk/samples/arm-unknown-eabi/crosstool.config |  223   223     0     0 +++++++++++++
 /trunk/config/kernel/linux_headers_install.in    |   64    27    37     0 ++--
 /trunk/config/kernel.in                          |    9     8     1     0 +
 /trunk/config/toolchain.in                       |    1     1     0     0 +
 /trunk/config/cc/gcc.in                          |    3     3     0     0 +
 /trunk/config/debug/dmalloc.in                   |    1     1     0     0 +
 /trunk/config/debug/gdb.in                       |    4     3     1     0 +
 /trunk/config/debug/strace.in                    |    1     1     0     0 +
 /trunk/config/debug/duma.in                      |    1     1     0     0 +
 /trunk/config/cc.in                              |    8     8     0     0 +
 /trunk/config/target.in                          |   13    13     0     0 +
 /trunk/config/binutils.in                        |    1     1     0     0 +
 /trunk/config/gmp_mpfr.in                        |    1     1     0     0 +
 /trunk/config/libc.in                            |   17    11     6     0 +
 /trunk/arch/arm/functions                        |    3     1     2     0 -
 22 files changed, 600 insertions(+), 652 deletions(-)
2008-09-14 16:21:07 +00:00
Yann E. MORIN"
7a0e770be1 Remove the now really obsolete Linux kernel headers copy and sanitised.
Remove orphanned Linux kernel patchsets.
Initiate a kernel build scripts directory. Move the Linux kernel build script there.

 /trunk/scripts/build/kernel/linux.sh |  146    11   135     0 +++---------------------------------------
 /trunk/scripts/crosstool.sh          |    2     1     1     0
 /trunk/steps.mk                      |    1     0     1     0 -
 /trunk/config/kernel/linux.in        |   49     0    49     0 --------------
 /trunk/config/kernel.in              |    4     4     0     0 +
 5 files changed, 16 insertions(+), 186 deletions(-)
2008-09-10 21:40:23 +00:00
Yann E. MORIN"
fa8b6c8ffd Dump the EXPERIMENTAL status and brokenness of samples in the WiKi table.
/trunk/scripts/showSamples.sh |    9     7     2     0 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
2008-09-04 15:42:25 +00:00
Yann E. MORIN"
05fc40d0ec Beautify samples listing.
/trunk/scripts/showSamples.sh |    8     4     4     0 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
2008-09-02 21:14:47 +00:00
Yann E. MORIN"
2a4ab33370 Warn the user if he/she recalls a sample with EXPERIMENTAL features.
Also, print the EXPERIMENTAL status when listing the samples.

 /trunk/scripts/showSamples.sh |   12     9     3     0 +++++++++---
 /trunk/samples/samples.mk     |   12    12     0     0 ++++++++++++
 2 files changed, 21 insertions(+), 3 deletions(-)
2008-09-02 12:43:11 +00:00
Yann E. MORIN"
3d4bc00719 Add support for building Insight instead of gdb (only for the cross-gdb).
/trunk/scripts/build/debug/300-gdb.sh |   62    55     7     0 ++++++++++++++++++++++++++++++++++++-----
 /trunk/config/debug/gdb.in            |   13    13     0     0 +++++++++
 2 files changed, 68 insertions(+), 7 deletions(-)
2008-09-02 10:47:44 +00:00
Yann E. MORIN"
520eda92a2 Be gentle to older findutils that don't have the "{} +" construct, and simply use "{} \;" instead.
/trunk/scripts/build/debug/300-gdb.sh |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-09-01 09:15:31 +00:00
Yann E. MORIN"
0a99eb0c77 Enable glibc to include support for kernel versions different than the version from the kernel headers.
Thanks to Nate CASE <ncase@xes-inc.com> for suggesting this use-case, and providing the patch.

 /trunk/scripts/build/libc_glibc.sh        |    4     2     2     0 +-
 /trunk/scripts/build/libc_eglibc.sh       |    2     1     1     0 +-
 /trunk/config/libc/glibc-eglibc-common.in |   44    44     0     0 +++++++++++++++++++++++++++++++++++++
 3 files changed, 47 insertions(+), 3 deletions(-)
2008-08-26 21:37:46 +00:00
Yann E. MORIN"
477baecf46 Missed one variable when converting to common options for eglibc and glibc (thanks Nate Case).
/trunk/scripts/build/libc_eglibc.sh |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-08-26 21:30:22 +00:00
Yann E. MORIN"
b3f5a87080 Commonalise options common to both glibc and eglibc.
/trunk/scripts/build/libc_eglibc.sh       |    6     3     3     0 +-
 /trunk/config/libc/glibc.in               |   63     2    61     0 +---------------------------------
 /trunk/config/libc/eglibc.in              |   61     1    60     0 +--------------------------------
 /trunk/config/libc/eglibc-glibc-common.in |    1     1     0     0 +
 /trunk/config/libc/glibc-eglibc-common.in |   69    69     0     0 +++++++++++++++++++++++++++++++++++++
 5 files changed, 76 insertions(+), 124 deletions(-)
2008-08-26 16:47:47 +00:00
Yann E. MORIN"
9dd85f517a Also dump the GMP and MPFR versions when dumping a sample in verbose mode.
/trunk/scripts/showSamples.sh |    3     3     0     0 +++
 1 file changed, 3 insertions(+)
2008-08-25 21:42:34 +00:00
Yann E. MORIN"
4a7d144844 Allow using ash as the shell for ./configure and make.
After an idea by "Martin Guy" <martinwguy@yahoo.it>:
http://sourceware.org/ml/crossgcc/2008-08/msg00037.html

 /trunk/scripts/crosstool.sh          |    4     4     0     0 ++++
 /trunk/config/global/build-behave.in |   14    14     0     0 ++++++++++++++
 2 files changed, 18 insertions(+)
2008-08-25 19:44:39 +00:00
Yann E. MORIN"
535c532baf Fix building older gdb's with newer gcc's.
/trunk/scripts/build/debug/300-gdb.sh |    2     2     0     0 ++
 1 file changed, 2 insertions(+)
2008-08-20 12:08:03 +00:00
Yann E. MORIN"
99691ee4d6 Log retrieved file emssages to DEBUG level, not EXTRA.
/trunk/scripts/build/libc_eglibc.sh |    2     1     1     0 +-
 /trunk/scripts/functions            |    6     3     3     0 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)
2008-08-17 14:13:00 +00:00
Yann E. MORIN"
5742930b13 MPFR: log autotools files rebuilding to DEBUG level, not EXTRA.
/trunk/scripts/build/mpfr.sh |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-08-17 14:10:44 +00:00
Yann E. MORIN"
70e05067fa Fix saving and using local copy of eglibc tarballs.
/trunk/scripts/build/libc_eglibc.sh |   10     5     5     0 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
2008-08-12 09:14:55 +00:00
Yann E. MORIN"
f1b9a7e7bb Merge the static and shared core gcc builds.
/trunk/scripts/build/cc_gcc.sh |  195    64   131     0 ++++++++++++++++--------------------------------
 1 file changed, 64 insertions(+), 131 deletions(-)
2008-08-12 07:47:51 +00:00
Yann E. MORIN"
5c18ddd8b9 Be a little less verbose when retrieving files if they are already present.
Be a little less verbose when extracting (and patching) files.

 /trunk/scripts/functions |    7     2     5     0 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)
2008-08-12 07:47:19 +00:00
Yann E. MORIN"
59ef10f5d6 Merge the branches/eglibc stuff:
- Add support for eglibc

 /trunk/scripts/functions  |    6     4     2     0 ++++--
 /trunk/docs/CREDITS       |    1     1     0     0 +
 /trunk/config/libc.in     |   12    12     0     0 ++++++++++++
 /trunk/arch/arm/functions |    4     2     2     0 ++--
 4 files changed, 19 insertions(+), 4 deletions(-)
2008-08-11 12:22:47 +00:00
Yann E. MORIN"
57755ca74b Move two log messages around, so that output looks better.
/trunk/scripts/functions |    4     2     2     0 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
2008-08-11 09:42:13 +00:00
Yann E. MORIN"
5c77177873 Do not unset http_proxy, ftp_proxy and https_proxy in case of using a socks proxy.
Add a log message.

 /trunk/scripts/functions |    6     2     4     0 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
2008-08-09 20:48:39 +00:00
Yann E. MORIN"
dfad0fbd2f Merge #920 from branches/eglibc:
Fix saving tarballs locally in case downloads are forced.

 /trunk/scripts/functions |   14     6     8     0 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)
2008-08-09 17:48:13 +00:00
Yann E. MORIN"
5bc276a6f0 Merge #916 from branches/eglibc:
Use a little bit more of CT_DoExecLog.

 /trunk/scripts/functions |   35    18    17     0 ++++++++++++++++++-----------------
 1 file changed, 18 insertions(+), 17 deletions(-)
2008-08-09 17:46:56 +00:00
Yann E. MORIN"
ba23f53157 Merge #914 from branches/eglibc:
Fix setting the proxy.

 /trunk/scripts/functions |    5     3     2     0 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
2008-08-09 17:45:55 +00:00
Yann E. MORIN"
929970279c Merge #911 from banches/eglibc:
Fix testing for tool's presence.

 /trunk/scripts/functions |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-08-09 17:40:44 +00:00
Yann E. MORIN"
ef0f400c26 Introduce four new ARCH specific variables that CT_DoArchValues can set if they want:
- CT_ARCH_CC_CORE_EXTRA_CONFIG
  - CT_ARCH_CC_EXTRA_CONFIG
  - CT_ARCH_TARGET_CLFAGS
  - CT_ARCH_TARGET_LDFLAGS
This will hopefully enable architectures to specify specific flags.
PowerPC will need them to introduce SPE (coming RSN).

 /trunk/scripts/crosstool.sh |    2     2     0     0 ++
 /trunk/scripts/functions    |    4     2     2     0 ++--
 /trunk/docs/overview.txt    |   45    22    23     0 ++++++++++++++++++++++-----------------------
 /trunk/config/target.in     |   10    10     0     0 ++++++++++
 4 files changed, 36 insertions(+), 25 deletions(-)
2008-08-07 15:18:18 +00:00
Yann E. MORIN"
c1a2e1bb87 Add a new config knob for gcc: usage of SJLJ to handle exceptions.
This is needed for some architectures to compile the Java frontend (eg. ARM with uClibc).

 /trunk/config/cc/gcc.in        |   41    39     2     0 +++++++++++++++++++++++++++++++++++++++--
 /trunk/scripts/build/cc_gcc.sh |    8     5     3     0 +++++---
 2 files changed, 44 insertions(+), 5 deletions(-)
2008-08-07 13:55:30 +00:00
Yann E. MORIN"
f53dd7e985 Fix building core C compiler.
PowerPC unveiled that you can't reliably build a target libgcc until you have C library headers.
In fact you can't build it at all. The fact that it did build for some architectures was purely coincidental, and a mistake.
This fix should still allow to build uClibc-based toolchains (some ARM uClibc toolchains were build-tested).

 /trunk/scripts/build/cc_gcc.sh |  100    47    53     0 +++++++++++++++++++++++-------------------------
 1 file changed, 47 insertions(+), 53 deletions(-)
2008-08-07 13:28:02 +00:00
Yann E. MORIN"
e348d316b7 Beautify final output.
/trunk/scripts/crosstool.sh |    7     4     3     0 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
2008-08-07 07:52:09 +00:00
Yann E. MORIN"
d67a32191b Make gcc-4.3.x able to compile uClibc (snapshot only).
Update the gcc patchset accordingly.

 /trunk/scripts/build/cc_gcc.sh |   55    53     2     0 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 53 insertions(+), 2 deletions(-)
2008-08-04 12:38:06 +00:00
Yann E. MORIN"
379ea09dba Michael ABBOTT reported that populate is not relocatable.
Fix this by determining both the cross-readelf and the sys-root at runtime, not at build time.

 /trunk/configure            |    1     1     0     0 +
 /trunk/scripts/crosstool.sh |   14     6     8     0 ++++++--------
 /trunk/tools/populate.in    |    6     4     2     0 ++++--
 3 files changed, 11 insertions(+), 10 deletions(-)
2008-08-04 08:44:54 +00:00
Yann E. MORIN"
4eeadf87e2 Rework a little bit of the LAN mirror and proxy settings.
/trunk/scripts/crosstool.sh      |  105     4   101     0 +------------------------
 /trunk/scripts/functions         |  151   129    22     0 +++++++++++++++++++++++++++++++-----
 /trunk/config/global/download.in |  193    99    94     0 ++++++++++++++++++++++++----------------------
 3 files changed, 232 insertions(+), 217 deletions(-)
2008-08-01 09:23:58 +00:00
Yann E. MORIN"
fe5feb1154 Have the glibc build use the cross-objdump, rather than the host one.
On some distros (eg. Fedora), the native objdump can not interpret objects not for the native system, and thus fail.
This commit adds a new patch against glibc-2.7 that introduces OBJDUMP_FOR_HOST, wich, if set, overides the detected objdump.

Note: bizarely enough, glibc already has code to detect the cross-objdump, but that does not work for an unknown reason... :-(

 /trunk/patches/glibc/2.7/220-objdump_for_host.patch |   13    13     0     0 +++++++++
 /trunk/scripts/build/libc_glibc.sh                  |   37    21    16     0 +++++++++++++++------------
 2 files changed, 34 insertions(+), 16 deletions(-)
2008-07-31 09:08:33 +00:00
Yann E. MORIN"
f7b84b7716 Pretyy-up the WiKi table with the date of last update for each sample.
/trunk/scripts/showSamples.sh |   15    12     3     0 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)
2008-07-29 16:48:20 +00:00
Yann E. MORIN"
5a28e26b8d Fix building x86_64 on x86_64 (and hopefully all other *64 archs on the same *64):
- symlink all lib64/ dirs to the corresponding lib/ dir
Also, prevent gcc from installing some of its target libs outside of the sys-root, in the first place.
Thanks to Laurent DUFRECHOU for reporting the bug and testing the fix.

 /trunk/scripts/build/cc_gcc.sh |   26     0    26     0 --------------------------
 /trunk/scripts/crosstool.sh    |   14    14     0     0 ++++++++++++++
 2 files changed, 14 insertions(+), 26 deletions(-)
2008-07-27 16:35:37 +00:00