Commit Graph

170 Commits

Author SHA1 Message Date
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"
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"
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"
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"
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"
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"
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"
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"
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"
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
Yann E. MORIN"
c3817897cb Do log the glibc build commands.
/trunk/scripts/build/libc_glibc.sh |   80    44    36     0 ++++++++++++++++++++++++--------------------
 1 file changed, 44 insertions(+), 36 deletions(-)
2008-07-26 12:26:42 +00:00
Yann E. MORIN"
da88cd1dde Build a little bit more of gcc in //.
/trunk/scripts/build/cc_gcc.sh |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-07-26 12:10:54 +00:00
Yann E. MORIN"
5575787f66 Make gcc-4.3.x build.
Thanks to both Ioannis E. VENETIS and Thomas JOURDAN for their help.

 /trunk/scripts/build/cc_gcc.sh |   26    22     4     0 ++++++++++++++++++++++----
 1 file changed, 22 insertions(+), 4 deletions(-)
2008-07-24 16:56:28 +00:00
Yann E. MORIN"
e6ba0e5854 Don't check fo lynx, it's no longer used.
/trunk/scripts/build/tools/200-sstrip.sh |    1     0     1     0 -
 1 file changed, 1 deletion(-)
2008-07-24 06:47:08 +00:00
Yann E. MORIN"
17693c9c98 Simplify downloading sstrip, using the common retrieval framework.
/trunk/scripts/build/tools/200-sstrip.sh |   31     3    28     0 +++----------------------------
 1 file changed, 3 insertions(+), 28 deletions(-)
2008-07-24 06:46:40 +00:00
Yann E. MORIN"
f4f3f526b8 Remove garbage files left behind by downloads from sourceforge.net.
/trunk/scripts/build/debug/500-strace.sh |    4     4     0     0 ++++
 /trunk/scripts/build/debug/200-duma.sh   |    5     4     1     0 ++++-
 2 files changed, 8 insertions(+), 1 deletion(-)
2008-07-22 14:17:10 +00:00
Yann E. MORIN"
7abf35f472 Allow selecting 'latest' snapshot, as well as 'specific' date snapshot for glibc.
Update uClibc config to commonalise some help.

 /trunk/scripts/build/libc_glibc.sh |   22    20     2     0 ++++++++++++++++++++--
 /trunk/config/libc/glibc.in        |   12    12     0     0 ++++++++++++
 /trunk/config/libc/uClibc.in       |   12     4     8     0 ++++--------
 /trunk/config/libc.in              |   13    13     0     0 +++++++++++++
 4 files changed, 49 insertions(+), 10 deletions(-)
2008-07-22 13:29:08 +00:00
Yann E. MORIN"
709299f291 Use POSIX constructs in the DUMA wrapper installed on the target.
/trunk/scripts/build/debug/duma.in |   13    12     1     0 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)
2008-07-19 12:15:17 +00:00
Yann E. MORIN"
ba5a96ad78 Remove the check for absolutely needed tools now ./configure checks for them.
Move the check for 'lynx' to where it is needed (that is when sstrip from buildroot is selected).

 /trunk/scripts/build/tools/200-sstrip.sh |    1     1     0     0 +
 /trunk/scripts/crosstool.sh              |    5     0     5     0 -----
 2 files changed, 1 insertion(+), 5 deletions(-)
2008-07-17 21:17:19 +00:00
Yann E. MORIN"
6e1b1ccb7d Use CT_DoExecLog when building tools and debug utilities.
/trunk/scripts/build/tools/200-sstrip.sh  |   12     6     6     0 ++++++------
 /trunk/scripts/build/debug/100-dmalloc.sh |   10     5     5     0 +++++-----
 /trunk/scripts/build/debug/400-ltrace.sh  |    5     3     2     0 +++--
 /trunk/scripts/build/debug/300-gdb.sh     |   30    17    13     0 +++++++++++++++++-------------
 /trunk/scripts/build/debug/500-strace.sh  |    7     4     3     0 ++++---
 /trunk/scripts/build/debug/200-duma.sh    |    5     3     2     0 +++--
 6 files changed, 38 insertions(+), 31 deletions(-)
2008-07-14 21:57:57 +00:00
Yann E. MORIN"
0b499187a2 Fix CT_DoExecLog usage when building GMP for target.
/trunk/scripts/build/gmp.sh |    8     4     4     0 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
2008-07-14 21:21:35 +00:00
Yann E. MORIN"
4a03de30df Advertise using CT_DoExecLog in the tools and debug templates.
/trunk/scripts/build/tools/000-template.sh |    5     3     2     0 +++--
 /trunk/scripts/build/debug/000-template.sh |    5     3     2     0 +++--
 2 files changed, 6 insertions(+), 4 deletions(-)
2008-07-14 16:04:41 +00:00
Yann E. MORIN"
223231bcc3 Use CT_DoExecLog when building libelf.
/trunk/scripts/build/tools/100-libelf.sh |    7     4     3     0 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
2008-07-14 15:58:39 +00:00
Yann E. MORIN"
549ef5d740 Use CT_DoExecLog when building gcc.
/trunk/scripts/build/cc_gcc.sh |   55    27    28     0 ++++++++++++++++++++++++------------------------
 1 file changed, 27 insertions(+), 28 deletions(-)
2008-07-14 15:56:57 +00:00
Yann E. MORIN"
00084df12b Use CT_DoExecLog when building uClibc.
/trunk/scripts/build/libc_uClibc.sh |   19    11     8     0 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)
2008-07-14 15:48:51 +00:00
Yann E. MORIN"
972fdecb11 Fix CT_DoExecLog usage when building binutils' libraries for target.
/trunk/scripts/build/binutils.sh |    4     2     2     0 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
2008-07-14 15:42:27 +00:00
Yann E. MORIN"
212f6fffff Use CT_DoExecLog in binutils build.
/trunk/scripts/build/binutils.sh |   16     9     7     0 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)
2008-07-14 15:27:20 +00:00
Yann E. MORIN"
dd5a5f683e Use CT_DoExecLog for MPFR build.
/trunk/scripts/build/mpfr.sh |   48    25    23     0 +++++++++++++++++++++++++-----------------------
 1 file changed, 25 insertions(+), 23 deletions(-)
2008-07-14 15:15:40 +00:00
Yann E. MORIN"
f235889bde Use CT_DoExecLog for GMP build.
/trunk/scripts/build/gmp.sh |   12     7     5     0 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)
2008-07-14 13:55:30 +00:00
Yann E. MORIN"
8c214615b0 Use CT_DoExecLog for Linux headers install.
/trunk/scripts/build/kernel_linux.sh |    6     4     2     0 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
2008-07-14 13:51:45 +00:00
Yann E. MORIN"
6e49891565 Ioannis E. VENETIS <venetis@mail.capsl.udel.edu> pointed out that GMP and MPFR were not used by gcc.
Turned out that none could use GMP and MPFR as the config option changed its name, but the change was not propagated to all users.

 /trunk/scripts/build/binutils.sh      |    2     1     1     0 +-
 /trunk/scripts/build/debug/300-gdb.sh |    2     1     1     0 +-
 /trunk/scripts/build/cc_gcc.sh        |    6     3     3     0 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)
2008-07-13 10:32:38 +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"
08ca782e76 Newer, better, tsocks(1)-like wrapper script for D.U.M.A.
/trunk/scripts/build/debug/duma.in     |   44    44     0     0 ++++++++++++++++++++++++++++++++++++++++
 /trunk/scripts/build/debug/200-duma.sh |   12     3     9     0 +++--------
 2 files changed, 47 insertions(+), 9 deletions(-)
2008-06-30 20:37:14 +00:00